1

我正在尝试根据 Item 设置属性值但是属性似乎没有注意到 Item 例如,我的代码就像

<ItemGroup>
   <temp Include="test.txt"></temp>
</ItemGroup>

<PropertyGroup>
  <Name>%(temp.Identity)</Name>
  <Test>$([system.IO.File]::ReadAllText('$(Name)').Replace('ABC', '###'))</Test> 
</PropertyGroup>    

<Target Name="Write">
   <Message Text="$(Name)"/>
   <WriteLinesToFile File="%(temp.Filename).asl" Lines="$(Test)" Overwrite="true"/> 
</Target>

但是当我运行它时,它说它无法读取 %(temp.Identity) 我错过了什么吗?谢谢!

4

1 回答 1

2

在任何项目之前评估属性。将组移动到延迟评估的目标中,您的“写入”或通用InitialTargets之一。

请参阅属性和项目评估顺序

于 2013-01-31T01:21:47.987 回答