如何正确地将msbuild属性传递给另一个msbuild脚本?

时间:2010-06-02 07:53:27

标签: msbuild

我有一个master.proj msbuild脚本,它使用MSBuild任务构建多个项目。

这是一个典型的例子:

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

但是,我的问题是如果在命令行上给出了更多属性,它们就不会传递给MSBuild任务。

有没有办法传递MSBuild任务命令行上给出的所有属性?

感谢。

1 个答案:

答案 0 :(得分:3)

您必须在Properties属性中将您的额外属性显式传递为以分号分隔的属性名称/值对列表。它不漂亮,但它是要走的路:

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