visual studio 命令行下用 msbuild 发布web站点

如何使用命令行msbuild部署VS2012网站项目,而无需预编译

vs2008:
msbuild website\websiteApp.csproj /t:ResolveReferences;Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=d:\website /p:OutputPath=d:\website\bin

vs2010:

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
msbuild website\websiteApp2010.csproj /t:ResolveReferences;Compile /t:_WPPCopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=d:\website

差别在于:

1.msbuild需要用4.0的

2.原先的 _CopyWebApplication 不支持,还为_WPPCopyWebApplication

3.原先的 /p:OutputPath 不需要使用

4.指定平台 /p:Platform=AnyCPU ,主要是有些项目可能是发布到64位平台,使用这个指令可以指定最终生成的目标平台

 

在VS中创建发布配置文件后,将创建以下内容:

> App_Data / PublishProfiles下的发布配置文件(.pubxml文件)
>网站根目录下的website.publishproj

website.publishproj的目的是方便命令行发布。它是.csproj / .vbproj的一个填充,你通常在使用Web应用程序项目时会得到。

如果要自动发布,可以使用如下命令。

msbuild.exe website.publishproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name-no-extension> /p:VisualStudioVersion=11.0

 

msbuild Web.csproj /t:ResolveReferences;Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=C:\publish /p:OutputPath=C:\publish\bin


msbuild.exe ****.csproj /p:DeployOnBuild=true;PublishProfile=IISProfile

/p:UserName=scw /p:Password=12345 /p:VisualStudioVersion=11.0

msbuild foo.sln /p:PreBuildEvent= /p:PostBuildEvent= 

 其实MSBuild可以加参数来屏蔽警告,有两种方式:

  • 1.使用/p:nowarn=1591可以屏蔽CS1591警告信息.如果要同时指定屏蔽多个,可以这样/p:nowarn="105,1591,1572,1573"
  • 2.使用/p:WarningLevel=0可以屏蔽所有警告.WarningLevel的分级信息如下:
    • 0 关闭所有的警告。
    • 1 仅显示严重警告。
    • 2 显示 1 级的警告以及某些不太严重的警告,例如有关隐藏类成员的警告。
    • 3 显示级别 2 警告以及某些不太严重的警告,例如关于始终评估为 true 或 false 的表达式的警告。
    • 4 默认值 显示所有 3 级警告和普通信息警告。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值