我正在尝试从文本文件加载文件名列表,然后为从文本文件检索到的每个条目运行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)

10-05 23:58