2019-11-29-msbuild-项目文件常用判断条件
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
msbuild 项目文件常用判断条件
|
lindexi
|
2019-11-29 08:36:48 +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 的判断是不区分大小写的,默认写的是 Debug 而 DEBUG 是用在条件编译里面
例如这样写
<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'"
更多判断请看
2019-11-29-msbuild-项目文件常用判断条件的更多相关文章
- msbuild 项目文件常用判断条件
在写项目文件的时候,需要根据不同的条件定义或执行不同的代码,有一些比较常使用的判断,本文收藏起来,方便大家找 在 msbuild 的项目文件 cspoj 或 xx.target 等文件里面,可以使用 ...
- 2019-8-31-msbuild-项目文件常用判断条件
title author date CreateTime categories msbuild 项目文件常用判断条件 lindexi 2019-08-31 16:55:59 +0800 2019-7- ...
- 2019.11.29 Mysql的数据操作
为名为name的表增加数据(插入所有字段) insert into name values(1,‘张三’,‘男’,20); 为名为name的表增加数据(插入部分字段) insert into name ...
- 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱
今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個 1. RZ10配置參數 a) 参数配置前,先导入激活版本 执行完毕后返回 b) 输入参数文件DEFAU ...
- pycharm+anaconda在Mac上的配置方法 2019.11.29
内心os: 听人说,写blog是加分项,那他就不是浪费时间的事儿了呗 毕竟自己菜还是留下来东西来自己欣赏吧 Mac小电脑上进行python数据开发环境的配置 首先下载Anaconda,一个超好用的数据 ...
- Supervision meeting notes 2019/11/29
topic 分支: 1. subgraph/subsequence mining Wang Jin, routine behavior/ motif. Philippe Fournier Viger ...
- EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)
传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...
- linux Shell中常用的条件判断
linux Shell中常用的条件判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d ...
- shell 脚本——判断条件
在之前的shell语言学习笔记中已经写过shell的几种判断语句及循环语句,也简单的介绍了shell语言判断语句和判断条件.在此再做进一步学习. test命令的测试功能 test命令用于检测系统文件及 ...
随机推荐
- 第三周课程总结&实验报告
课程总结 在这周对Java进行了更深层次的学习,Java的学习也变得越来越困难而有趣,加入了一些新的构造新的方法,还学习了一些简化代码的方式. 面向对象的基本概念 对于面向对象的程序设计有三个主要特征 ...
- 清明 DAY 3
ans=1000*4 分别固定千位,百位,十位,个位为1,其余位置随便排 对于每一个质因数的n次方,共有n+1中选择方法,即这个质因数的0~n次方 故共有 4*3*5=60 种方法 (1)取两册 ...
- golang context学习记录2
上篇文章中,我们已经学习了使用context实现控制多个goroutine的退出. 本文将继续介绍如何使用context实现超时情况下,让多个goroutine退出. 例子 首先,启动3个gorout ...
- Git-Runoob:Git 标签
ylbtech-Git-Runoob:Git 标签 1.返回顶部 1. Git 标签 如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签. 比如说,我 ...
- MEF引起的内存泄露
也许你编程的时候很小心,注意不引起内存泄露,例如不要被全局Static的变量引用上,注意Singleton的static引用,注意Event Handler注销,注意IDisposable接口实现,而 ...
- LoadRunner 技巧之 自动关联
LoadRunner 技巧之 自动关联 这一节讲loadunner 关联的问题,其实这个东西理解起来简单,但说起来比较麻烦. 关联的原理: ...
- [转] JavaScript学习:BOM和DOM的区别和关联
BOM 1. BOM是Browser Object Model的缩写,即浏览器对象模型. 2. BOM没有相关标准. 3. BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系 ...
- eclipse 引用静态库设置选项
环境说明: 静态库文件项目:engine C++ 项目:server 在server项目中引用静态库的库文件libEngine.a 需要设置如图选项,才能引用静态库项目里的文件 主要设置: 1.inc ...
- ubuntu/work
1.Ubuntu16.04 创建桌面快捷方式 cd /usr/share/applications vim goland.desktop ##add content [Desktop Entry] E ...
- 小记---------spark组件与其他组件的比较 spark/mapreduce ;spark sql/hive ; spark streaming/storm
Spark与Hadoop的对比 Scala是Spark的主要编程语言,但Spark还支持Java.Python.R作为编程语言 Hadoop的编程语言是Java