如何在msbuild中創建屬性以便我可以在CallTarget指令中使用它?在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的工作方式中似乎是一個非常根本的誤解。
感謝您的建議。不幸的是,這個子目標可以被其他一些目標所調用,所以目標實際上並不知道它是什麼。這可能是我再次濫用msbuild的神器.. – fostandy
yup任務不是功能... –