如何在MSBuild的创建属性,这样我可以在CallTarget指令中使用它?
从本质上讲,我试图调用目标“子程序”,其中属性作为参数。
我试图使它试图创建一个属性玩具的csproj文件,然后调用其回声它的目标。 它回声空。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Test">
<CreateProperty Value="AAA">
<Output TaskParameter="Value" PropertyName="Foo" />
</CreateProperty>
<CallTarget Targets="Test2" />
</Target>
<Target Name="Test2">
<Message Text="Target Test2: Foo=$(Foo)" />
</Target>
</Project>
运行msbuild TestProj.csproj /t:Test
输出:
Test:
Target Test: Foo=AAA
Test2:
Target Test2: Foo=
我想这个问题是我在命令式的方式思考的MSBuild(这显然是一个常见的错误),所以我希望有人能更正一下,似乎是在怎样的MSBuild作品非常根本性的误解。