使用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删除即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值