.csproj文件中的条件条件符号定义

时间:2017-02-13 15:36:35

标签: xml msbuild conditional csproj

我是一名经验丰富的C#开发人员,但在MSBuild方面是一个完全的初学者,现在我有一个包含以下XML片段的.csproj文件:

<Choose>
  <When Condition=" $(UseSimulatedResx) == true ">
    <PropertyGroup>
      <DefineConstants>$(DefineConstants);SIMRESX</DefineConstants>
    </PropertyGroup>
    ... does something else ...
  </When>
</Choose>

有没有人可以解释我上面的摘录应该如何以及何时起作用?我应该在何时何地发出此UseSimulatedResx?

我要做的是尝试让SIMRESX成为我解决方案中项目的条件编译符号,以便启用我们大量产品的某些功能。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

可以通过以下方式之一设置UseSimulatedResx

  • 作为环境变量
  • 作为调用msbuild时的参数(例如/p:UseSimulatedResx=true
  • PropertyGroup中的
  • (例如

    <PropertyGroup> <UseSimulateResx>true</UseSimulateResx> ... </PropertyGroup>

如果您使用/v:diag(例如msbuild myProj.csproj /v:diag)调用msbuild,您将获得诊断输出,其中显示MSBuild所执行的所有操作以及所有变量值。