给出以下MSBuild项目文件:
<Project ToolsVersion="3.5" DefaultTargets="DoA" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<A Include="1.txt">
<Define>B=2;C=3</Define>
</A>
<A Include="2.txt" />
</ItemGroup>
<Target Name="DoA" Inputs="@(A)" Outputs="out\%(A.Filename).csv">
<Message Text="perl myscript.pl @(A) ???" />
</Target>
</Project>
我需要用???
代替文本输出:
perl myscript.pl 1.txt --define B=2 --define C=3
perl myscript.pl 2.txt
答案 0 :(得分:1)
您可以使用%(A.Define)
,但您必须将您的Define属性更改为:
<Define>--define B=2 --define C=3</Define>
我不相信将项目元数据视为项目本身是可能的,尽管在这种情况下它似乎很有用。