2010-06-02 15 views
5

Mam skrypt msbuild master.proj, który buduje kilka projektów przy użyciu zadania MSBuild.Jak poprawnie przekazać właściwości msbuild do innego skryptu msbuild?

Oto typowy przykład:

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

Ale moim problemem jest to, że jeśli więcej właściwości podane są w linii poleceń, nie są one przekazywane do zadania MSBuild.

Czy istnieje sposób przekazania zadania MSBuild we wszystkich właściwościach podanych w wierszu poleceń?

Dzięki.

+0

Poprosiłem podobny [Pytanie] (http://stackoverflow.com/questions/3260913/how-to-access-the-msbuild-command-line- parametry-z-wewnątrz-projektu-pliku-b) - nigdy nie znalazłem rozwiązania tego problemu, co wydaje się być poważnym brakiem w msbuild, IMO. – arathorn

Odpowiedz

3

Musisz jawnie przekazać swoją dodatkową właściwość jako rozdzielaną średnikami listę par nazwa/wartość właściwości w atrybucie Properties. To nie jest ładne, ale to jest do zrobienia:

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

To nie jest piękna sprawa. Jest to po prostu niemożliwe. Master.proj służy do budowania wielu projektów naraz. Po prostu nie wie, które właściwości są odpowiednie dla poszczególnych projektów. – mark

Powiązane problemy