在.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文件中创建条件块如果你想做更复杂的条件处理。