2010-06-02 67 views
5

我有一個master.proj msbuild腳本,它使用MSBuild任務來構建幾個項目。如何正確地將msbuild屬性傳遞給另一個msbuild腳本?

下面是一個典型的例子:

<Target Name="Log4PostSharp" DependsOnTargets="log4net"> 
    <MSBuild Projects="Log4PostSharp\Log4PostSharp.sln" Properties="Configuration=$(Configuration)" /> 
</Target> 

不過,我的問題是,如果有更多的屬性在命令行上給出的,它們不傳遞到MSBuild任務。

有沒有辦法讓命令行上給出的所有屬性都通過MSBuild任務?

謝謝。

+0

我問過類似的[問題](http://stackoverflow.com/questions/3260913/how-to-access-the-msbuild-command-line-參數從項目內文件b) - 從來沒有找到一個解決方案,這似乎是msbuild,國際海事組織的嚴重缺陷。 – arathorn 2012-04-12 22:32:49

回答

3

您必須明確地將您的額外屬性作爲以分號分隔的屬性名稱/值對列表中的Properties屬性的分號分隔列表。它不漂亮,但它要走的路:

<Target Name="Log4PostSharp" DependsOnTargets="log4net"> 
    <MSBuild Projects="Log4PostSharp\Log4PostSharp.sln" 
      Properties="Configuration=$(Configuration); 
         Platform=$(Platform); 
         OtherPropertyPassInCommandLine=$(PropertyValue)" /> 
</Target> 
+1

這不是一個漂亮的問題。這根本不可能。 Master.proj用於一次構建多個項目。它只是不知道哪些屬性與哪些項目相關。 – mark 2010-06-02 08:12:09

相關問題