我对.csproj文件中的功能和条件完全陌生,因此不胜感激。
我想做的是检查当前配置中的特定编译器指令。一个示例如下所示:
<Choose>
<When Condition= [current configuration has CONST-1 compiler constant defined] >
...
</When>
<When Condition= [current configuration has CONST-2 compiler constant defined] >
...
</When>
</Choose>
我不知道这是否可能。如果有更好的方法来做我要问的事情,也请告诉我。无论哪种方式,我都想测试独立于配置的条件。
编辑
我真正想要的是一个可以轻松编辑的值(最好在Visual Studio中),我还可以检查配置的无条件设置。我考虑过编译器常量,因为您可以在VS的项目属性中轻松更改它们。
最佳答案
编译器常量设置为属性“DefineConstants”,因此您应该只可以评估该属性。您的Choose
语句需要放在定义常量的PropertyGroup或目标内部。
<Choose>
<When Condition="$(DefineConstants.Contains(CONST-1))">
...
</When>
<When Condition="$(DefineConstants.Contains(CONST-2))">
...
</When>
</Choose>
关于c# - 如何在.csproj文件中使用MSBuild条件测试编译器指令?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12957061/