Net使用Msbuild工具来编译你的项目

.net msbuild命令编译项目文件 最近研究使用发布机发布项目,固然需要使用命令行来编译项目文件,此次的编译使用的是msbuild,也是当下官方推荐;当然还有devenv; 另外说明:本次的实验使用的为Visual Studio 2017相关参考 MSDN : MSBuild使用及一些说明 指令目录说明在vs2017之前,msbuild都是跟随.net framework一起发布,在vs2017后需要兼容.net core的编译, 阅读详情

MSBuild 是 Microsoft 和 Visual Studio的生成系统。它不仅仅是一个构造工具,应该称之为拥有相当强大扩展能力的自动化平台。MSBuild平台的主要涉及到三部分:执行引擎、构造工程、任务。其中最核心的就是执行引擎,它包括定义构造工程的规范,解释构造工程,执行“构造动作”;构造工程是用来描述构造任务的,大多数情况下我们使用MSBuild就是遵循规范,编写一个构造工程;MSBuild引擎执行的每一个“构造动作”就是通过任务实现的,任务就是MSBuild的扩展机制,通过编写新的任务就能够不断扩充MSBuild的执行能力。所以这三部分分别代表了引擎、脚本和扩展能力
我们这篇文章主要用msbuild来编译自己的项目 到 发布

使用msbuild来编译发布自己的项目

记得在第一家公司上班 ,项目上线的时候是手动上的,把需要的dll文件手动复制过去,如果更新很少的文件还好,如果文件多了 以后维护发布 都很浪费精力和时间,现在使用git 比手动更新方便快捷很多,现在推荐自动化部署了,一般使用git获取最新项目 然后写脚本发布, 这不是我们今天讨论的内容 ,今天的内容是为上述内容的一个铺垫, 现在开始我们的任务 。

我们首先创建一个项目: 这是一个mvc 项目 一个控制器 一个页面 现在我们不使用vs再带的工具编译和发布,我们使用Msbuild

在这里插入图片描述

打开vs2017开发者工具提示
在这里插入图片描述

切换到项目所在的路径:

cd /d 项目所在的路径
在这里插入图片描述
清理项目
msbuild -t:clean
在这里插入图片描述

编译命令:
msbuild -p:configuration=“debug” 编译成 debug 版本
msbuild -p:configuration=“release” 编译成 release 版本

在这里插入图片描述
或者你也可以选择编译的文件放在指定的目录中:
msbuild -p:configuration=“debug” /p:OutputPath=C:\Users\YuGuang.Xu\Desktop\sql\TestProject\

发布你的项目到指定文件夹
命令解释:
msbuild 项目的csporj文件所在的路径 /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=编译版本(debug|release) /p:WebProjectOutputDir=项目发布后的文件路径

例如:
msbuild E:\ProjectCollection2020\AutoDeployment\AutoDeployment\AutoDeployment.csproj /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=Debug /p:WebProjectOutputDir=C:\Users\YuGuang.Xu\Desktop\sql\TestProject\

看下图 已经成功发布项目到指定文件夹了
在这里插入图片描述
发布后的文件所在路径
在这里插入图片描述

下面我们部署IIS来访问 部署iis我在这里就不贴图了

打开浏览器访问
在这里插入图片描述
可以看到 成功了
下面说写这个命令里的几个参数
msbuild E:\ProjectCollection2020\AutoDeployment\AutoDeployment\AutoDeployment.csproj /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=Debug /p:WebProjectOutputDir=C:\Users\YuGuang.Xu\Desktop\sql\TestProject\

有关配置文件说明 项目有开发环境 生产环境的配置文件 根据不同环境生成不同的配置文件,

我们只需要修改 Configuration=Debug 这个命令为release就可以发布release版本了

附上msbuild 常用命令;
切换到 项目所在的文件夹
cd /d projectpath
还原包命令
nuget restore myProject.sln
编译命令 (release 发布 debug 调试)
msbuild -p:configuration=“release”
清理项目
msbuild -t:clean
重新编译
msbuild -t:rebuild TestAutoConfigFile.sln
发布项目
msbuild -t:Publish

编译后放在指定文件夹命令
msbuild /p:OutputPath=ProjectOfFolderPath
例子: msbuild /p:OutputPath=E:\Test\Debug

–发布项目到指定文件夹
msbuild E:\ProjectCollection\TestAutoConfigFile\TestAutoConfigFile\TestAutoConfigFile.csproj /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=Debug /p:WebProjectOutputDir=E:\Test\Publish

C++编程 使用MSBuild编译器编译项目 在Windows上写小的C++程序文件的时候我比较喜欢用MinGW的g++编译器来编译工程,简单一条命令语句就能够搞定。但是当写稍微大一点的项目时,可能就需要配合makefile文件来进行编译,或者是visual studio IDE来编辑和编译。今天我突发奇想想用微软的编译器MsBuild来像g++一样编译工程。在查阅各种资料和询问同事之后有了一点小结果 首先新建一个项目文件夹,我这里起名叫"demo_msbuild_prj",实际命名可以自己确定。然后可以从以前用Visual Studio IDE建立的 阅读详情

相关推荐

从VS BuildTools到纯MSBuild:搞懂.NET项目编译背后的‘发动机’选型指南

在实际项目迁移中,我曾遇到一个从.NET Framework 4.5升级到.NET 6的项目,最初尝试直接修改项目文件导致各种兼容性问题。后来发现更稳妥的做法是:先确保Build Tools安装了新旧两个版本的工作负载,然后使用MSBuild的/tv参数显式指定工具版本进行渐进式迁移。MSBuild(Microsoft Build Engine)是微软构建系统的核心引擎,自2005年随.NET Framework 2.0发布以来,一直是Visual Studio项目编译的底层工具。但它的组件选择有讲究。

weixin_31061699的博客 319

msbuild 语法_如何通过命令行 msbuild 编译项目

本文告诉大家如何通过 msbuild 编译一个项目,通过命令行编译可以输出更多的编译信息,可以用来调试自己写的编译相关方法,可以看到是哪个文件编译失败在开始菜单可以找到 VisualStudio 的安装文件夹,基本上开发者命令行的英文名叫 Developer Command Prompt 中文名是开发者命令行打开之后默认是 C 盘的一个路径,假如自己的项目所在文件夹是 D:\lindexi\git...

weixin_39574720的博客 1132

J204B接口数据链路的建立

介绍J204B数据链路层的建立方式

QUACK_G的博客 6554

MSBuild 常用参数

本文告诉大家在 MSBuild 里面常用的参数

lindexi 8445

EPICS电机支持(asynMotor)

EPICS电机支持(asynMotor)

yuyuyuliang00的博客 916

Fortigate 在AWS中配置HA

方案1: 1、将两台服务器配置在相同可用区中,使用飞塔原生HA功能,可以实现配置同步功能。 2、配置SSLVPN,在主服务器不可用时,可以实现自动切换到备用服务器继续提供VPN服务。 当前问题: 1、主挂掉后可以自动切换到备,但是原主服务器修复后不会自动切换到主状态。 2、如下图所示切换中丢包明显,需要客户端开启“保持连接”功能。 配置过程如下: 1、整体架构 2、创建VPC和子网,如下图所示...

子苏蓝莓的博客 892

用 MSBuild 发布 Asp.Net 工程

方法1:用调用MSBuild执行自定义的MSBuild脚本文件 第一步:创建MSBuild脚本文件,并将其复制到目标工程所在路径。 第二步:用MSBuild执行上述脚本文件。      [MSBuild.EXE path] /p:PublishProject=[Target project];Configuration=Release;PublishDestination=[Publish

一个被IT搞的 3105

S7-1200g2运动控制实战:从轴组配置到程序调试

本文详细介绍了S7-1200g2运动控制功能的实战应用,从轴组配置到程序调试的全流程。通过TIA Portal中的工艺对象配置,实现单轴、同步轴组等运动控制模型,并分享常见问题排查与性能优化经验,帮助工程师快速掌握中小型自动化设备的运动控制技术。

weixin_28698059的博客 591

Jenkins配置MSBuild编译.net4.6的项目

经过测试,如果用原始的msbuild,会出现语法无法识别的问题,"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe"。 那么此时需要在编译的机器上安装VS2015,然后打开项目编译一次,确定此项目在此机器上没任何问题。 接着再配置msbuild的路径为C:\Program Files (x86)\MSBuild\1...

angou6476的博客 296

JavaScript性能优化:全链路性能优化策略

JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。

weixin_49707375的博客 1274

环境配置与基础教程:当前大厂主流套路:使用 MLflow 全链路管理 YOLO 实验参数、指标与模型版本

YOLO26与MLflow结合实现高效实验管理 YOLO26通过移除DFL模块和实现无NMS端到端推理,在CPU推理速度上提升43%,同时简化了模型导出流程。MLflow 3.10/3.11版本新增多工作区支持、成本追踪和安全序列化等功能,为机器学习实验提供全生命周期管理。两者结合可解决传统"截图+Excel"式实验管理的痛点,实现参数追踪、指标对比和模型版本控制的自动化。 关键优势: YOLO26架构优化带来显著性能提升 MLflow提供实验到生产的全链路管理 原生集成简化了计算机视觉

ZXSXJ的博客 192

Jenkins常用插件之MSBuild Plugin

该插件主要运用在.NET项目中,功能是“对.NET项目的源码进行编译”。  C#:可通过Visual Studio的项目文件(.csproj)和解决方案文件(.sln)进行编译  C++:可通过Visual Studio的项目文件(.vxcproj)和解决方案文件(.sln)进行编译  以下是使用该插件的具体步骤: 第一步:MSBuild相关软件下载和安装 在网上下载Mi

范斐斐 1782

实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码)

导读 本文主要介绍使用OpenCV对扫描文本矫正的应用实例及详细实现步骤。 背景介绍 在使用打印机或扫描仪扫描文档时,由于摆放位置差异难免造成扫描文档的倾斜。本文将使用OpenCV将倾斜的文档矫正水平并去除黑边。 实现步骤 本文只针对包含大部分文字的文档做倾斜矫正,思路来源是大部分文字倾斜后同一行的也在同一条直线,通过拟合直线计算文本倾斜角度,然后旋转来实现文本倾斜矫正。 详细步骤: ①加载倾斜图像 ②灰度转换+腐蚀+膨胀 ③Canny边缘检测 + 霍夫线变换检测直线 ...

Color Space的博客 3402

.Net用命令行编译项目

我们都知道.Net的csc.exe文件可以对.cs文件编译,那么我们怎么对项目和解决方案进行编译呢? msbuild命令, 使用方法如:在NET命令行中输入msbuild *.sln或者msbuild *.csproj,回车即可 例如:MSBuild路径\webapp.sln/t:Rebuild/p:Configuration=ReleaseMSBui...

weixin_33722405的博客 535

基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码

基于 高斯过程回归(Gaussian Process Regression, GPR) 的 时间序列区间预测 的 MATLAB 示例代码

算法如诗的博客 155

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

推荐文章:探索无MSBuild的新境界 - NoMSBuild项目详解

推荐文章:探索无MSBuild的新境界 - NoMSBuild项目详解 在.NET开发领域,MSBuild一直是编译构建过程中不可或缺的一环。然而,今天我们要探讨的是一个打破常规的开源项目——NoMSBuild。它以一种令人眼前一亮的方式,展现了无需MSBuild.exe即可完成编译任务的创新思路。 项目介绍 NoMSBuild是一个颠覆传统的项目,旨在实现“没有MSBuild的MSBuild”。...

gitblog_01077的博客 839

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Invoke-MsBuild 开源项目教程

Invoke-MsBuild 开源项目教程 一、项目目录结构及介绍 本节将概述Invoke-MsBuild项目的主要目录结构及其组成部分。 ├── LICENSE.md # 许可证文件,描述了软件使用的授权条款。 ├── README.md # 项目简介,快速入门指南和主要特性的说明文档。 ├── Invoke-MsBuild # 核心脚本或模块文件夹,存放着...

gitblog_00797的博客 392

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【Jenkins】用Jenkins在windows下部署.net项目

【Jenkins】用Jenkins在windows下部署.net项目1.安装Jenkins+java+MSBuild+nuget(略)2.新建一个任务3.增加构建步骤【还原项目包】(Execute Windows batch command)4.增加构建步骤【编译和发布项目】(Build a Visual Studio project or solution using MSBuild)5.保存后Build Now即可 1.安装Jenkins+java+MSBuild+nuget(略) 2.新建一个任务

kjc的博客 2343

Jenkins结合.net平台之Web项目编译

前面我们讲解了如何使用msbuild.exe编译一个.net程序.示例中我们讲解的是编译控制台项目,但是我们知道web项目不仅需要编译类的嵌入的资源文件,还要拷贝诸如css,html,js,图片等资源文件,比较旧的msbuild版本如果不对web项目作特殊处理则是不能复制这些资源文件的. 下面我们讲一下如何通过参数设置使得msbuild编译的web项目在编译时复制资源. 首先我们打开visua...

weixin_30840573的博客 107
上一篇: 关于ELK搭建日志系统环境搭建
下一篇: Layui load层 加一些文字提示
_徐林
博客等级 码龄9年 6粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值