2010-06-02 3 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- parameters-from-in-the-project-file-b) - никогда не находил решения для этого, что, по-видимому, является серьезным недостатком в msbuild, IMO. – arathorn

ответ

3

Вы должны явно передать свою дополнительную собственность в виде с разделительными точками с разделителями-запятыми. в атрибуте Properties. Это не красиво, но это путь:

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

Это не вопрос красивой. Это просто невозможно. Master.proj используется для создания сразу нескольких проектов. Он просто не может знать, какие свойства имеют отношение к тем проектам. – mark

Смежные вопросы