title author date CreateTime categories
msbuild 项目文件常用判断条件
lindexi
2019-08-31 16:55:59 +0800
2019-7-3 17:7:38 +0800
Roslyn MSBuild 编译器

在写项目文件的时候,需要根据不同的条件定义或执行不同的代码,有一些比较常使用的判断,本文收藏起来,方便大家找

在 msbuild 的项目文件 cspoj 或 xx.target 等文件里面,可以使用 Condition 条件写在很多标签元素作为判断

例如在 Target 上面添加条件,只有条件满足了才会执行

  <Target Name="Lindexi" AfterTargets="CoreCompile" Condition="'$(Configuration)|$(TargetFramework)'=='DEBUG|net45'">
<Message Text="林德熙是逗比"></Message>
</Target>

下面将告诉大家一些常使用的判断

判断在调试下编译

请看代码

Condition="'$(Configuration)'=='Debug'"

这里 Configuration 的判断是不区分大小写的,默认写的是 DebugDEBUG 是用在条件编译里面

例如这样写

  <PropertyGroup Condition=" '$(Configuration)' == 'Debug'">
<MainProjectPath>blog.lindexi.com</MainProjectPath>
</PropertyGroup>

判断在发布下编译

请看代码

Condition="'$(Configuration)'!='Debug'"

也就是上面代码反过来判断不是在调试下编译

另一个判断方法请看代码,这是不推荐的判断方法

Condition="'$(Configuration)'=='Release'"

这个不推荐的写法,一般只有调试下和非调试下,用上面的写法可能有逗比写了 Release-x 于是就判断不是发布下,此时就没有做发布的优化

判断平台

判断在 .NET Framework 4.5 运行

Condition="'$(TargetFramework)'=='net45'"

对应的判断 .NET Standard 使用如下缩写 netstandard1.0

判断 .NET Core 使用如下缩写 netcoreapp1.0

多个判断

需要同时生效有两个写法,如判断只有在 .NET Framework 4.5 同时在调试下

Condition="'$(Configuration)|$(TargetFramework)'=='DEBUG|net45'"

第二个方法是使用关键字 And 连接

Condition=" '$(TargetFramework)'=='net45' And $(Configuration)=='Debug'"

两个条件的或判断使用关键字 Or 连接

Condition=" '$(TargetFramework)'=='net45' or $(Configuration)=='Debug'"

更多判断请看

Roslyn 在项目文件使用条件判断

MSBuild 如何编写带条件的属性、集合和任务 Condition? - walterlv

Target frameworks

2019-8-31-msbuild-项目文件常用判断条件的更多相关文章

  1. msbuild 项目文件常用判断条件

    在写项目文件的时候,需要根据不同的条件定义或执行不同的代码,有一些比较常使用的判断,本文收藏起来,方便大家找 在 msbuild 的项目文件 cspoj 或 xx.target 等文件里面,可以使用 ...

  2. 2019-11-29-msbuild-项目文件常用判断条件

    title author date CreateTime categories msbuild 项目文件常用判断条件 lindexi 2019-11-29 08:36:48 +0800 2019-7- ...

  3. linux Shell中常用的条件判断

    linux Shell中常用的条件判断 -b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d ...

  4. Shell脚本IF条件判断和判断条件总结

    转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结 ...

  5. shell 脚本——判断条件

    在之前的shell语言学习笔记中已经写过shell的几种判断语句及循环语句,也简单的介绍了shell语言判断语句和判断条件.在此再做进一步学习. test命令的测试功能 test命令用于检测系统文件及 ...

  6. python3.4学习笔记(十) 常用操作符,条件分支和循环实例

    python3.4学习笔记(十) 常用操作符,条件分支和循环实例 #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1.25 c //= 8 #用两个 ...

  7. if语句中的判断条件(nginx)

    if语句中的判断条件   正则表达式匹配:     ==:等值比较;     ~:与指定正则表达式模式匹配时返回"真",判断匹配与否时区分字符大小写:     ~*:与指定正则表达 ...

  8. ThinkPHP3.2中if判断条件是两个变量

    <select name="typeId"> <foreach name="typeInfo" item="v"> ...

  9. SQL语句Where中使用别名作为判断条件

    当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件.   例如下面的SQL语句: select id, (c1 + c2) as s from t1  where ...

随机推荐

  1. Echarts在Vue中的使用

    1.使用 cnpm 或 npm 安装 Echarts cnpm方式 cnpm install echarts -S 或者 npm方式 npm install echarts --save 2.在项目文 ...

  2. 建造者模式(Builder)(生成器模式)(框架化)

    建造者模式将一个复杂对象的构建与其表示分离. 将复杂对象进行框架化,将同类的对象编造进同一个制造流程.同类·对象会有一样的框架. 而由于各部分的实现细节有所不同,所生产出来的产品会有所不同.从而有不同 ...

  3. non-identifying and identifying

    An identifying relationship means that the child table cannot be uniquely identified without the par ...

  4. tensorflow根据pb多bitch size去推导物体

    with self.detection_graph.as_default(): with tf.Session(graph=self.detection_graph) as sess: # Expan ...

  5. Django项目:CRM(客户关系管理系统)--23--15PerfectCRM实现King_admin多条件过滤

    登陆密码设置参考 http://www.cnblogs.com/ujq3/p/8553784.html list_filter = ('source','consultant','consult_co ...

  6. Markdown文档使用

    Markdown使用 一.markdown标题:1级-6级 一级 #空格 二级 ##空格 三级 ###空格 ... 六级 ######空格 二.代码块 print("hello world! ...

  7. git中的错误

    ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@gitee.co ...

  8. linux压缩打包

    linux下的压缩命令有tar.gzip.gunzip.bzip2.bunzip2. compress.uncompress.zip.unzip.rar.unrar等等,压缩后的扩展名有.tar..g ...

  9. 【P3056】【USACO12NOV】笨牛Clumsy Cows

    P3056 [USACO12NOV]笨牛Clumsy Cows 题目描述 Bessie the cow is trying to type a balanced string of parenthes ...

  10. Oracle查询表里的重复数据方法

    select id from group by id having count(*) > 1 按照id分组并计数,某个id号那一组的数量超过1条则认为重复. 如何查询重复的数据 select 字 ...