在.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是什么?
发布于 2014-08-24 02:02:06
检查是否定义了常量的条件的语法是:(在本例中是OPENAL)。
<ItemGroup Condition="$(DefineConstants.Contains('OPENAL'))">发布于 2014-08-24 03:04:54
如果您想要进行更复杂的条件处理,还可以使用<Choose>元素在msbuild / .csproj文件中创建条件块。
http://msdn.microsoft.com/en-us/library/ms164282.aspx
编辑:尖括号消失了。
https://stackoverflow.com/questions/25456161
复制相似问题