MSBuild 4和MSDeploy命令行

时间:2010-07-14 14:07:32

标签: msbuild msdeploy

我正在尝试自动部署网站。我从这个article

开始

从VS 2010开始,一切都很好。但是,我遇到了命令行的问题 我用这个

c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe "d:\Projects\test.csproj" /T:Package /P:PackageLocation="d:\Package\packageTest.zip"

创建包

d:\Projects\packageTest.deploy.cmd "-setParam:name='IIS Web Application Name',value=MSBuild/Test2" /y

至少要正确部署。 但是,它不需要任何IIS选项(应用程序池是MSBuild而不是ASP.NET v2.0),并且,正如我之前所说,IIS Web应用程序名称是错误的。 这些信息不应该来自.csproj文件吗? 所有这些设置都是针对调试配置和平台任何cpu

完成的

1 个答案:

答案 0 :(得分:6)

您通常首先在IIS上设置应用程序,具有正确的路径,应用程序池等。设置时,您可以使用MSBuild部署到该应用程序名称,如下所示:

msbuild <your_web_project_name>.csproj /p:Configuration=Release /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MsDeployServiceUrl=https://<url_to_your_server>:8080/msdeploy.axd /p:username=<username> /p:password=<password> /p:AllowUntrustedCertificate=True /p:DeployIisAppPath=<your_site_name> /p:MSDeployPublishMethod=WMSVC /p:VisualStudioVersion=11.0

如果您不想手动设置网站,可以运行类似这样的电源外壳:

Import-Module WebAdministration
New-Item iis:\Sites\<your_site_name> -bindings @{protocol="http";bindingInformation=":80:<your_site_name>} -physicalPath c:\inetpub\wwwroot\<your_site_name>
Set-ItemProperty 'IIS:\Sites\<your_site_name>' ApplicationPool "ASP.NET v4.0"