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>

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...