Net使用Msbuild工具来编译你的项目
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