在.csproj中使用条件符号



在.csproj中有如下定义的常量:

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

然后在项目后面有一个itemgroup

<ItemGroup>
<EmbeddedNativeLibrary Include="..ThirdPartyDependenciesopenal-softlibsarmeabi-v7alibopenal32.so">
  <Platforms>Android,Ouya</Platforms>
  <Link>libsarmeabi-v7alibopenal32.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..ThirdPartyDependenciesopenal-softlibsarmeabilibopenal32.so">
  <Platforms>Android,Ouya</Platforms>
  <Link>libsarmeabilibopenal32.so</Link>
</EmbeddedNativeLibrary>
<EmbeddedNativeLibrary Include="..ThirdPartyDependenciesopenal-softlibsx86libopenal32.so">
  <Platforms>Android,Ouya</Platforms>
  <Link>libsx86libopenal32.so</Link>
</EmbeddedNativeLibrary>

我想只在定义常量OPENAL时包含这个ItemGroup,而不管调试还是发布。我该怎么做呢?

<ItemGroup Condition="XXXXXX" >

XXXXXX是什么?

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

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

您还可以使用<Choose>元素在msbuild/.csproj文件中创建条件块如果你想做更复杂的条件处理。

http://msdn.microsoft.com/en-us/library/ms164282.aspx

最新更新