我有一个MSBuild脚本,其中定义了Target
和ItemGroup
。
在目标内部,我定义了一个像这样的PropertyGroup:
<PropertyGroup>
<StartedMessage>##teamcity[testStarted name='%(Names.Identity)']</StartedMessage>
<FinishedMessage>##teamcity[testFinished name='%(Names.Identity)']</FinishedMessage>
<TestStatus>testPassed</TestStatus>
</PropertyGroup>
问题是,这些属性似乎只被评估一次(当调用目标时),因此不会反映我正在迭代的项的正确值(标识元数据)。
有没有办法在执行期间延迟(延迟)评估属性?
或者,在迭代ItemGroup
时,定义需要更改的“动态”属性的正确方法是什么?
答案 0 :(得分:0)
不确定将itemgroup置于属性组中的重点是尝试实现,也许是这样的?
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Tests Include="Hack;Destroy;Terminate"/>
</ItemGroup>
<Target Name="Iterate">
<Message text="Started %(Tests.Identity)"/>
</Target>
</Project>