2019-8-31-msbuild-项目文件常用判断条件
2023-09-27 14:28:50 时间
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 的判断是不区分大小写的,默认写的是 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'"
更多判断请看
相关文章
- rdp3389mstsc使用剪贴板重定向通过远程桌面服务或终端服务会话复制大于 2 GB 的文件 (复制) 会以静默方式失败
- 推荐一款好用的文件加密传输软件——Kleopatra(含详细使用文档)
- 英文文件pdf版本快速翻译软件
- 为什么在Spring的配置里,最好不要配置xsd文件的版本号
- python 之文件 编码问题
- eclipse环境下部署到Tomcat中的项目目录下缺失class文件或者不更新
- <二代測序> 批量下载 NCBI sra 文件
- pom文件语法无误却报红叉(Unknown error)的可能原因
- Go 项目的文件布局
- linux 修改文件权限指令chmod
- 【Springboot项目中pom文件parent报错的解决方法】~ ~ 详细教程
- 解决Cannot resolve com.alibaba.cloud:aliyun-oss-spring-boot-starter:unknown 文件上传报错aliCloudEdasSdk解决
- SpringBoot使用阿里云oss实现文件上传
- 【甄选靶场】Vulnhub百个项目渗透——项目十四:VulOsv2(CMS利用,工控文件发掘)
- 【甄选靶场】Vulnhub百个项目渗透——项目八:IMF-1(文件上传,缓冲区溢出)
- 【甄选靶场】Vulnhub百个项目渗透——项目二十二:Wakanda_1(LFI本地文件包含,pip提权)
- 从CSV文件中读取jpg图片的URL地址并多线程批量下载
- IMF spark 读入文件中文编码转换处理(JAVA版本)
- ts:使用ts-node执行ts文件
- 解决Visual Studio 各版本都出现新建项目后解决方案下没有文件和项目问题
- SharePoint2013 上传文件到文档库
- C# web项目添加*.ashx文件后报错处理
- 【Java 虚拟机原理】Class 字节码二进制文件分析 四 ( 字段表数据结构 | 字段表详细分析 | 访问标志 | 字段名称 | 字段描述符 | 属性项目 )
- Delphi项目构成之单元文件PAS
- Django项目关闭debug模式后,静态文件无法加载的解决办法
- springBoot项目里获取resource目录下的文件(可用于各种linux服务器部署)【我】
- Android MediaStore扫描 & 向MediaStore中插入文件记录
- Android Framework中添加AIDL文件编译
- iOS之多控制器管理--项目中的常见文件
- msbuild 项目文件常用判断条件
- [转]apache 设置目录访问权限(Linux文件权限)
- Java文件IO流的操作总结
- Maven项目打包成可执行Jar文件
- [转载:]Fortran 二进制文件读写