c# – 如何使用.csproj文件中的MSBuild条件来测试编译器指令?

前端之家收集整理的这篇文章主要介绍了c# – 如何使用.csproj文件中的MSBuild条件来测试编译器指令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对.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语句需要放在定义常量或目标内的PropertyGroups之后.
<Choose>
    <When Condition="$(DefineConstants.Contains('CONST-1'))">
        ...
    </When>
    <When Condition="$(DefineConstants.Contains('CONST-2'))">
        ...
    </When>
</Choose>

猜你在找的C#相关文章