如何讓一個構建目標中定義的值保持在其他targert中?如果PropertyGroup不是我在此使用的寫入MsBuild實體,那麼是什麼? RELEASEDIR被印在「包」目標確定,但在「DoPackage」空將屬性組的值從一個MsBuild任務傳遞到另一個
<Target Name="Package">
<PropertyGroup>
<ReleasesDir>c:\tmp</ReleasesDirBase>
</PropertyGroup>
<Message Text="$(ReleaseDir)"/>
<CallTarget Targets="DoPackage" Condition="!Exists('$(ReleaseDir)')"/>
</Target>
<!-- Do the acutal packaging -->
<Target Name="DoPackage">
<Message Text="Creating package in '$(ReleaseDir)'"/>
<Error Condition="'$(ReleaseDir)' == ''" Text="No ReleaseDir defined"/>
<MakeDir Directories="$(ReleaseDir)"/>
...
</Target>
我想只有在ReleaseDir存在的情況下才運行DoPackage(我在CallTarget中使用Condition來實現此目的)。我可以使用DependsOnTarget來實現嗎? – ripper234 2009-09-03 15:02:31
現在我已經閱讀了您發佈的鏈接,解決方案很簡單 - 我編寫了一個名爲「DefineProperties」的單獨任務,完成後屬性被...定義。謝謝。 – ripper234 2009-09-03 15:15:20
是的,這是解決方案,我已經更新了示例。 – 2009-09-03 15:19:56