【命令参数】MSBuild - 环境配置及常用命令参数

news2024/10/6 14:37:11

目录

环境配置

基本语法

参数指令


        对各类程序的命令参数的掌握是软件工程师必修课之一,它是通往自动化、高效化开发测试的必经之路。对于MSBuild,我们可以借助它以一种轻量级的形式去完成对于项目又或解决方案的生成,而避开使用繁大的IDE进行编译。

环境配置

        为使调用方便,通常会将MSBuild配置环境变量中。查找MSBuild.exe的所在路径(在安装VS时一般会附附带安装上,直接搜索下即可),记录下路径,然后按 Win + R 调入运行(管理员) 并输入 cmd,接着输入以下指令:

#如果需要加入到系统变量则在Path前加入 /m 即可
setx Path "%Path%;MSBuild的路径"

基本语法

        欲生成基于 *.sln , *.vxproj 等格式的解决方案,可直接使用MSBuild生成,语法如下:

MSBuild [项目文件] [开关] 
# 开关即设定用的参数
# 示例 : msbuild text.sln 

参数指令

参数描述
-ds[:True 或 False]

若设为True: 生成日志,记录生成每个节点时的详细信息。

例: msbuild test.sln -ds:True

-graph[:True or False]

若设为True: 构造和生成项目的图。 图的内容涉及到标识对窗体依赖项的项目引用。

* 需要 MSBuild 16 或更高版本。

/? 或 -h

显示用法信息。

比如想知道msbuild所有的参数用法可以输入:
msbuild -h

-ignore: extensions

忽略生成项目中可能包含的扩展名格式。 使用分号或逗号分隔多个扩展名。

如以下示例所示:
-ignore:.sln;.vxproj;

-isolate[:True 或 MessageUponIsolationViolation 或 False]使 MSBuild 单独生成每个项目。 当设置为 MessageUponIsolationViolation(或缩略Message)时,如果设置了 -outputResultsCache 开关,则仅序列化顶级目标中的结果。 这是为了减少依赖项项目中违反隔离规定的目标由于依赖于缓存目标而使用不正确的状态的机会,因为缓存目标的副作用不会被考虑在内。 
-m[:number]指定生成时要使用的最大并发进程数。 如果不包含此开关,则默认值为 1。 如果包含此开关而没有指定值,MSBuild 将使用计算机中的处理器总数作为其值。 

用8个进程来协助生成test解决方案,示例:

msbuild test.sln -m:8
-nr:value

对于上面开关的进一步细化配置,启动或禁止复用MSBuild 生成节点。 

- True 节点生成完成后做保留,后续生成可以继续使用(默认值)。
- False 节点生成完成后不保留。

节点对应于正在执行的项目。 如果你添加 -maxcpucount(-m) 开关,多个节点可并发执行。

-orc[:cacheFile]MSBuild 生成结束时将生成结果的缓存写入到Output 文件中。 
-profileEvaluation:<file>

分析 MSBuild 生成报告,并将结果写入到指定文件中。 如果指定的文件扩展名为“.md”,则以 Markdown 格式生成结果。 否则,生成制表符分隔文件。

-p:name=value

设置或重写指定项目级属性,其中 name 是属性名称,value 是属性值。 单独指定每个属性,或使用分号或逗号分隔多个属性

常用到的是对发布时的解决方案配置和输出目录,示例:

-p:Configuration=Release;OutDir=bin\Release

-r在生成实际目标之前运行 Restore 目标。
-rp:name=value仅在还原期间改写项目的配置属性,对 -property(-p) 参数的重新设定。 name 是属性名称,value 是属性值。 使用分号或逗号分隔多个属性,或单独指定每个属性。
-t:targets

在项目中生成指定目标。 单独指定每个目标,或使用分号或逗号分隔多个目标。

示例:
-target:Prj1;Prj2

-val[schema]

验证项目文件,如果验证成功,则生成项目。

如果指定 schema,则针对指定的架构验证项目;如果没有指定 schema,则以默认架构验证项目。

示例:-val:Validate.xsd

-v:level指定要在生成日志中显示的信息量。 每个记录器基于为该记录器设置的详细级别显示事件。

可以指定以下详细级别:q[uiet]、m[inimal]、n[ormal](默认)、d[etailed] 和 diag[nostic]。

示例:-v:quiet
@file

从文本文件中插入命令行参数。 

示例: msbuild test.sln @ExteriorFile.txt

* 常用参数以红色标记 

拓展资料:MSBuild 命令行参考 - MSBuild | Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统之部署Etherpad文档编辑器

Linux系统之部署Etherpad文档编辑器 一、Etherpad介绍1.Etherpad简介2.Etherpad特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统是否安装Node.js 四、部署Node.js 环境4.1 下载Node.js安装包…

【吴恩达老师《机器学习》】课后习题3之【逻辑回归解决多分类】与【神经网络】笔记(代码注释详细)

本次习题所用到的数据&#xff0c;#数据集&#xff1a;ex3data1.mat&#xff0c;参数&#xff1a;ex3weights.mat。在文章开头&#xff0c;下载即可&#xff01; 逻辑回归解决多分类问题 二分类VS多分类 在机器学习中&#xff0c;分类是一种监督学习任务&#xff0c;其中我们…

从机缘到成就

机缘 在这1825天的创作之旅中&#xff0c;我收获了许多宝贵的机遇和经验。起初&#xff0c;我只是一个对技术有着浓厚兴趣的普通人&#xff0c;遇到了一个在eclipse导入工程后出现中文乱码的问题。而我决定将这个问题记录下来&#xff0c;并分享给其他可能遇到相同困扰的人们。…

数据库系统概述——第三章 关系数据库标准语言SQL(知识点复习+练习题)

&#x1f31f;博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;离散数学考前复习&#xff08;知识点题&#xff09; &#x1f353;专栏&#xff1a;概率论期末速成&#xff08;一套卷&#xff09; &#x1f433;专栏&#xff1a;数字电路考前复习 &#x1f99a;专栏&am…

Linux基础内容(23)—— 信号补充与多线程交接知识

Linux基础内容&#xff08;22&#xff09;—— 信号_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130835485 目录 1.可重入函数 1.情况假设 2.volatile 3.SIGCHLD信号 1.SIGCHLD介绍 2.信号的确认 3.wait的处理 1.可重入函数 1.情况假设…

插件 - 通过SPI方式实现插件管理

文章目录 SPI概念基本原理使用步骤优点缺点Code真实使用场景案例JDBC(Java Database Connectivity)Servlet API日志框架SPI概念 SPI(Service Provider Interface)是Java提供的一种服务扩展机制,它允许应用程序在运行时动态加载和发现提供者(Providers),并与它们进行交…

Proteus仿真之UART通信(点亮LED灯)

1.UART通信简介&#xff1a;通用异步收发传输器UART(Universal Asynchronous Receiver/Transmitter)是负责处理数据总线和串口之间的串/并通信的设备。UART通信规定了数据帧的格式&#xff1a;起始位、数据位、校验位、停止位等。UART异步通信只需要通信双方设置好数据帧的格式…

房屋装修选择自装,如何寻找水电工人,比价并施工(水电阶段)

环境&#xff1a; 地点&#xff1a;杭州 装修类型&#xff1a;自装 面积&#xff1a;建面135平方 进度&#xff1a;水电阶段 问题描述&#xff1a; 房屋装修选择自装&#xff0c;如何寻找水电工人&#xff0c;比价并施工 解决方案&#xff1a; 一、了解水电相关知识 水…

Python3+RIDE+RobotFramework自动化测试框架搭建

Python2.7已于2020年1月1日开始停用&#xff0c;之前RF做自动化都是基于Python2的版本。 没办法&#xff0c;跟随时代的脚步&#xff0c;我们也不得不升级以应用新的控件与功能。 升级麻烦&#xff0c;直接全新安装。 一、Python安装 最新版Python下载地址&#xff1a;http…

Qt连接Access数据库

Qt自带有QODBC驱动&#xff08;封装了ODBC驱动接口&#xff09;&#xff0c;通过windows平台上提供的ODBC驱动访问支持ODBC的数据库&#xff0c;如Ms Access、SQL Server等 (Windows XP 自带有Access和SQL Server的ODBC Driver)。我们就用QODBC对Access数据库进行访问。 Acces…

别再瞎搞了,耳朵都竖起来听我说,新手小白开发应该如何选择最合适你的JetBrains IDE版本类型和版本号! 今天一次性给你说清楚!

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

windows环境下搭建redis集群

下面记录一下windows10环境下搭建redis3主3从集群&#xff0c;将过程分享出来&#xff0c;仅供学习研究使用。 1、redis集群 Redis集群关键点就是去掉中心化(与哨兵模式的区别)&#xff0c;当主机宕机&#xff0c;从节点回自动升级为主节点&#xff0c;具体请参考官网或相关大…

机器学习——KNN算法(手动代码,含泪)

徒手实现代码的过程&#xff0c;真是含泪和心酸&#xff0c;浪费了生命中的三天&#xff0c;以及工作中的划水一小时 终于滤清思路后&#xff0c;自己实现了KNN 都说KNN是最基础&#xff0c;最简单的分类器 放屁&#xff01;骗纸&#xff01;&#xff01;&#xff01;它的想法是…

第八章——向量代数与空间解析几何

目录 一、运算公式 二、平面的法线向量 注&#xff1a;加粗体为向量 一、运算公式 1.若a//b&#xff0c;那么aλb 若a⊥b&#xff0c;那么a*b0 2.若A(x1,y1,z1)&#xff0c;B(x2,y2,z2) 中点坐标&#xff1a;AB中点M(x1x2/2,y1y2/2,z1z2/2) 两点间的距离和模的计算&#x…

第3章 信息系统治理

文章目录 3.1.1 IT治理基础1. IT治理的驱动因素2. IT治理的目标价值3. IT治理的管理层次 3.1.2 IT治理体系1. IT治理关键决策2. IT治理体系框架3. IT治理核心内容4. IT治理机制经验&#xff08;建立IT治理机制的原则&#xff1a;简单、透明、适合&#xff09; 3.1.3 IT治理任务…

工作流引擎Flowable

这里写目录标题 1.Flowable基础1.1 入门学习 2.流程图设计器2.1 FlowableUI2.1.1 绘制流程图 1.Flowable基础 官方手册 1.1 入门学习 一、依赖 <dependencies><dependency><groupId>org.flowable</groupId><artifactId>flowable-engine</…

jenkins——Git版本管理

这里写目录标题 一、Jenkins Git 版本管理1、Git 的集成2、在执行job的机器上安装好Git3、无法连接仓库&#xff0c;问题解决解决方法1&#xff1a;&#xff08;不推荐&#xff09;1、把仓库设置成公开的&#xff0c;然后重新添加仓库地址 解决方法2&#xff1a;通过凭证的方式…

打破Spring的垄断,云原生Java框架Micronaut

文章目录 什么是Micronaut&#xff1f;Micronaut的功能特性相较于Spring的优势 Micronaut框架的使用安装Micronaut cli创建Micronaut项目 Micronaut应用的部署micronaut反应式编程 MCNU云原生&#xff0c;文章首发地&#xff0c;欢迎微信搜索关注&#xff0c;更多干货&#xff…

基于springboot的文件的上传到本地和云上传(阿里云)

1.文件上传 1.介绍 文件上传&#xff0c;是指将本地图片、视频、音频等文件上传到服务器&#xff0c;供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛&#xff0c;我们经常发微博、发微信朋友圈都用到了文件上传功能。 2.前端的文件上传–form表单 将静态的页面…

接口自动化测试面试问题及答案

目录 1.请问你是如何做接口测试的&#xff1f; 2.接口测试如何设计测试用例&#xff1f; 3.接口测试执行中需要比对数据库吗&#xff1f; 4.接口测试质量评估标准是什么&#xff1f; 5.接口产生的垃圾数据如何清理 6.其他接口要先获取接口信息&#xff0c;如何让登录的接口…