可以使用以下任一方法创建属性:
<Target Name="A">
<PropertyGroup>
<DogSound>Bark</DogSound>
</PropertyGroup>
</Target>
<Target Name="B">
<CreateProperty Value="Bark">
<Output TaskParameter="Value" PropertyName="DogSound"/>
</CreateProperty>
</Target>
Run Code Online (Sandbox Code Playgroud)
但是,如果有的话,目标A和B的语义之间有什么区别?
谢谢.
注意:我正在使用msbuild 3.5.我相信PropertyGroup语法在早期版本的msbuild中的目标内部不起作用,但对于ItemGroups也是如此.CreateItem已被弃用,但CreateProperty没有,所以我想知道CreateProperty是否还有使用PropertyGroup的东西,如果是的话,那是什么.
不要在MSBuild 4.0中使用CreateProperty和CreateItem.而只是将ItemGroup和PropertyGroup直接放在目标内.
你没有在目标内部使用MSBuild 3.5 ItemGroup/PropertyGroup之前是正确的,所以人们会使用CreateProperty和CreateItem任务.在MSBuild 3.5之后,您应该只使用ItemGroup和PropertyGroup.虽然有一些极端的极端情况,你仍然可能需要CreateProperty和CreateItem,但我不担心这些.这些场景涉及转义以及CreateItem如何比ItemGroup更少限制.但实际上99%的人都不会面对这一点.
| 归档时间: |
|
| 查看次数: |
3173 次 |
| 最近记录: |