在.csproj中使用条件符号

Mar*_*ano 5 msbuild visual-studio

在.csproj内部,定义了一些常量,如下所示:

<DefineConstants>DEBUG;TRACE;ANDROID;GLES;OPENGL;OPENAL</DefineConstants>
Run Code Online (Sandbox Code Playgroud)

然后在项目的后面有一个项目组

<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>
Run Code Online (Sandbox Code Playgroud)

我希望仅在定义常量OPENAL时才包含此ItemGroup,而不考虑调试或发布。我怎样才能做到这一点?

<ItemGroup Condition="XXXXXX" >
Run Code Online (Sandbox Code Playgroud)

XXXXXX是什么?

Mar*_*ano 6

检查常量是否已定义的条件的语法为:(在这种情况下为OPENAL)

<ItemGroup Condition="$(DefineConstants.Contains('OPENAL'))">
Run Code Online (Sandbox Code Playgroud)