如何在MSBuild脚本中使用自定义变量?

20

使用MSBuild.exe进行构建时,是否有一种方法可以在命令行上使用自定义变量,如下所示:

MSBuild.exe bootstrapper.msbuild <custom_variable1=custom_variable_value1>

custom_variable2=custom_variable_value2>...<custom_variablen=custom_variable_valuen>

目的是要知道我是否需要启动另一个可执行文件。

1个回答

34

你应该从基础开始学习。答案可以在官方文档中找到。

MSBuild将这些称为属性而不是变量。

在实践中:


msbuild bootstrapper.msbuild /p:custom_variable1=custom_variable_value1

在MSBuild文件中,您可以这样使用它:

<Target Name="MyTarget">
  <PropertyGroup>
    <custom_variable1 Condition="'$(custom_variable1)'==''">defaultValue</custom_variable1>
  </PropertyGroup>
  <Exec Condition="'$(custom_variable1)'=='someValue'" .../>
</Target>

如果属性不存在或为空,则此操作将为属性分配默认值,并仅在该值等于someValue时执行Exec任务。


这正是我寻找的确切答案... $(SolutionName) 在项目加载时似乎会失败,因此我必须在“执行”期间进行检查。 - Fabrice T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接