使用MSBUILD发布Web Application
VS Publish Web Application的功能很好用,能够直接预编译整个站点。对于Website, 可以在命令行下通过aspnet_compiler来进行预编译。
但是对于Web Application, aspnet_compiler显然行不通,aspnet_compiler不接受项目文件作为参数,直接把网站文件夹路径作为参数可能会引起其他问题。
于是我尝试用MSBUILD来发布网站。
直接编译:
msbuild Web.csproj /t:Compile /p:Configuration=Release
无效,没有预编译
遍寻网络,得/t:_CopyWebApplication参数
于是:
msbuild Web.csproj /t:Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=C:\publish
网站文件预编译了,但是没有bin目录
加OutputPath参数:
msbuild Web.csproj /t:Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=C:\publish /p:OutputPath=C:\publish\bin
dll到bin下面去了,但是引用的外部文件没有了??
增加参数 ResolveReferences:
msbuild Web.csproj /t:ResolveReferences;Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=C:\publish /p:OutputPath=C:\publish\bin
搞定网站全部成功预编译了, 不过多了web.csproj和 web.csproj.user, 直接删除或者通过nant删除即可。
出处:http://jzywh.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库