具有MSBuild任务的MSBuild目标从命令行传入属性

时间:2015-09-08 12:40:29

标签: msbuild msbuild-task

我有一个目标文件,它使用MSBuild任务来编译一堆.csproj文件。这按预期工作。

是否可以从命令行中获取属性?

<Target Name="MyBuild">
   <MSBuild Projects="@(Projects)" Properties="FROM COMMAND LINE"/>
</Target>

msbuild mybuild.proj /p:myProperty=true

2 个答案:

答案 0 :(得分:0)

您可以这样做:

<Target Name="MyBuild">
   <MSBuild Projects="@(Projects)" Properties="$(MyProperties)"/>
</Target>

以这种方式调用MSBuild:

msbuild mybuild.proj /p:MyProperties="MyProperty=true;MyOtherProperty=false"

答案 1 :(得分:-1)

环境变量可用于设置MSBuild属性。我们使用批处理文件根据命令行参数设置env变量,然后在根据命令行参数设置env变量后调用MSBuild。