Visual studio 在.csproj中使用条件符号
在.csproj中,有一些常量定义如下:Visual studio 在.csproj中使用条件符号,visual-studio,msbuild,Visual Studio,Msbuild,在.csproj中,有一些常量定义如下: <DefineConstants>DEBUG;TRACE;ANDROID;GLES;OPENGL;OPENAL</DefineConstants> DEBUG;痕迹;安卓格尔斯;OPENGL;开放的 然后在项目的后面有一个项目组 <ItemGroup> <EmbeddedNativeLibrary Include="..\ThirdParty\Dependencies\openal-soft\libs\arm
<DefineConstants>DEBUG;TRACE;ANDROID;GLES;OPENGL;OPENAL</DefineConstants>
DEBUG;痕迹;安卓格尔斯;OPENGL;开放的
然后在项目的后面有一个项目组
<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>
安卓,Ouya
libs\armeabi-v7a\libopenal32.so
安卓,Ouya
libs\armeabi\libopenal32.so
安卓,Ouya
libs\x86\libopenal32.so
我希望仅在定义常量OPENAL时才包含此ItemGroup,而不管是调试还是发布。我该怎么做
<ItemGroup Condition="XXXXXX" >
XXXXXX是什么?检查是否定义了常数的条件的语法是:(在本例中为OPENAL)
您还可以使用
元素在msbuild/.csproj文件中创建条件块
如果你想做更复杂的条件处理
已编辑:尖括号已消失。找到答案。。。谢谢,当我有两种配置时,它解决了我的问题。一个用于调试,另一个用于发布,当在项目的“条件编译符号”生成页面上定义常量时,可以使用一个条件来进行调试和发布。不必这样做:条件=“$(配置)”==“测试调试”或“$(配置)”==“测试发布”,但条件=“$(DefineConstants.Contains('TEST')”)。
<ItemGroup Condition="$(DefineConstants.Contains('OPENAL'))">