加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:47:49 所属栏目:百科 来源:网络整理
导读:我对.csproj文件的功能和条件完全是新的,所以任何和所有的帮助是赞赏. 我想做的是检查当前配置中的特定编译器指令.一个例子将是如下: Choose When Condition= [current configuration has CONST-1 compiler constant defined] ... /When When Condition= [c
我对.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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读