MsBuild запускает Exec для каждого элемента в списке - PullRequest
21 голосов
/ 08 марта 2010

Я пытаюсь загрузить список имен файлов из текстового файла, а затем запустить задачу Exec для каждой записи, извлеченной из текстового файла.

Итак, у меня есть файл, назовем его SomeFile.txt, содержащий следующее:

FileA.file
FileB.file
FileC.file

Код MsBuild, который у меня есть для этого, выглядит следующим образом (который не работает:)

<Target Name="runScripts">  

    <ItemGroup>
        <scriptsFile Include="SomeFile.txt" />
    </ItemGroup>        

    <ReadLinesFromFile File="@(scriptsFile)">
        <Output TaskParameter="Lines" ItemName="scriptItems" />
    </ReadLinesFromFile>

    <Message Text="Running Exec for each entry..." />           
    <Exec Command="$(someCommand) %(scriptItems)" />

</Target>

Это дает мне ошибку, говоря, что мне нужно указать имя элемента, но если я использую что-либо вроде% (scriptItems.item) или% (itemname.scriptItems), MsBuild просто ставит пробел вместо% (scriptItems).

1 Ответ

29 голосов
/ 08 марта 2010

Хорошо, я понял это

Просто нужно использовать

% (scriptItems.Identity)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...