我正在尝试从文本文件加载文件名列表,然后为从文本文件中检索的每个条目运行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)。
答案 0 :(得分:29)
好的,我想通了
只需要使用
%(scriptItems.Identity)