How to pass msbuild properties to another msbuild script correctly?
I have a master.proj msbuild script which builds several project开发者_开发知识库s using the MSBuild
task.
Here is a typical example:
<Target Name="Log4PostSharp" DependsOnTargets="log4net">
<MSBuild Projects="Log4PostSharp\Log4PostSharp.sln" Properties="Configuration=$(Configuration)" />
</Target>
But, my problem is that if more properties are given on the command line, they are not passed to the MSBuild task.
Is there a way to pass the MSBuild task all the properties given on the command line?
Thanks.
You have to explicitly pass your extra property as a semicolon-delimited list of property name/value pairs in Properties
attribute. It's not pretty but it's the way to go :
<Target Name="Log4PostSharp" DependsOnTargets="log4net">
<MSBuild Projects="Log4PostSharp\Log4PostSharp.sln"
Properties="Configuration=$(Configuration);
Platform=$(Platform);
OtherPropertyPassInCommandLine=$(PropertyValue)" />
</Target>
精彩评论