0

我有一个带有定义的 MSBuild 脚本TargetItemGroup.

在目标内部,我定义了一个 PropertyGroup,如下所示:

<PropertyGroup>
    <StartedMessage>##teamcity[testStarted name='%(Names.Identity)']</StartedMessage>
    <FinishedMessage>##teamcity[testFinished name='%(Names.Identity)']</FinishedMessage>
    <TestStatus>testPassed</TestStatus>
</PropertyGroup>

问题是,这些属性似乎只被评估一次(当调用目标时),因此不反映我正在迭代的项目的正确值(身份元数据)。

有没有办法在执行期间延迟(懒惰)评估属性?或者定义迭代时需要更改的“动态”属性的正确方法是ItemGroup什么?

4

1 回答 1

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>
于 2013-05-02T08:27:01.607 回答