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. Android根据联系人姓名首字符顺序读取通讯录

      Android根据联系人姓名首字符顺序读取通讯录 版权声明:本文为Zhang Phil原创文章,欢迎转载!转载请注明出处:http://blog.csdn.net/zhangphil 本文给出了A ...

  2. 《DSP using MATLAB》Problem 7.30

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  3. C#icon图标文件转Image

    Icon icon = ICONHelper.GetFileIcon(filePath); MemoryStream mStream = new MemoryStream();//创建内存流 icon ...

  4. kuangbin带我飞QAQ 最短路

    1. poj 1502 Mathches Game 裸最短路 #include <iostream> #include <string.h> #include <cstd ...

  5. TZ_09_常用jQuery操作

    1.实现对chexkbox进行批量删除 checkbox属性 <td><input name="ids" type="checkbox" va ...

  6. SSM9-Redis的搭建

    1. Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 第一 ...

  7. php连接数据库查询方法(还少一种pdo方法)

    <?php header("content-type:text/html;charset=utf-8"); $conn = mysql_connect("local ...

  8. zoj 1001 python起步

    /*赶角还是挺好的....*/ import sys for line in sys.stdin: a=line.split() print int(a[0])+int(a[1])

  9. Codeforces 222B 数组行列交换操作

    /*做完这题发现自己好水,太伤人了.... 不过还是学到一些,如果直接暴力模拟的话肯定是TLM.. 所以要用虚拟数组来分别保存当前数组的每行没列在初始数组中的位置...*/ #include<c ...

  10. 彻底删除 Git 项目中的文件(BFG Repo-Cleaner 用法)

    一些时候由于开发初期经验不足和贪图方便, 会把一些不应该提交到 Git 的文件上传到 Github, 带来一系列安全问题, 更有可能是把一些大文件上传到 GitHub 上, 导致项目非常臃肿, 每次 ...