我正在尝试从文本文件加载文件名列表,然后为从文本文件检索到的每个条目运行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)。
最佳答案
好,我知道了
只需使用
%(scriptItems.Identity)