visual-studio - 在 .csproj 中使用条件符号

标签 visual-studio msbuild

在 .csproj 里面有一些这样定义的常量:

<DefineConstants>DEBUG;TRACE;ANDROID;GLES;OPENGL;OPENAL</DefineConstants>

然后在项目后期有一个项目组
<ItemGroup>
<EmbeddedNativeLibrary Include="..\ThirdParty\Dependencies\openal-soft\libs\armeabi-v7a\libopenal32.so">
  <Platforms>Android,Ouya</Platforms>
  <Link>libs\armeabi-v7a\libopenal32.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\ThirdParty\Dependencies\openal-soft\libs\armeabi\libopenal32.so">
  <Platforms>Android,Ouya</Platforms>
  <Link>libs\armeabi\libopenal32.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..\ThirdParty\Dependencies\openal-soft\libs\x86\libopenal32.so">
  <Platforms>Android,Ouya</Platforms>
  <Link>libs\x86\libopenal32.so</Link>
</EmbeddedNativeLibrary>

我希望仅在定义常量 OPENAL 时才包含此 ItemGroup,而不管调试或发布。我怎样才能做到这一点?
<ItemGroup Condition="XXXXXX" >

XXXXXX 会是什么?

最佳答案

检查是否定义了常量的条件的语法是:(在本例中为 OPENAL)

<ItemGroup Condition="$(DefineConstants.Contains('OPENAL'))">

关于visual-studio - 在 .csproj 中使用条件符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25456161/

相关文章:

visual-studio - 您想继续并运行上次成功的构建吗?

visual-studio - 将/Zi 与/Z7 用于 Visual Studio C++ 项目有什么影响?

c# - TFS 构建输出中不包含链接的内容文件

c# - 具有许多 Web 项目输出到同一目录的 MSBuild 解决方案

c# - 从命令行完全构建 Monotouch 应用程序包的完整步骤集是什么?

c# - 在 using 语句中无法识别命名空间。 "The type or namespace ' #' does not exist in the namespace ' #'。您是否缺少程序集引用?

c# - 垂直代码对齐 VS Visual Studio 2015 自动格式化

C# - 将大型 (150MB) 文本文件读入富文本框

msbuild - 是否可以从命令行或 Web 上下文之外构建 sitecore 数据包?即使用南特

.net - 使用 Chocolatey 或 nuget 来为另一个包中的工具添加插件