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

Conditional conditional symbol definition in a .csproj file

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

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

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

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

提前致谢!

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

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

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

)

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