7

我正在尝试自动部署站点。我从这篇文章开始

并且从 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 完成的

4

1 回答 1

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

如果您不想手动设置站点,则可以运行如下所示的 power shell:

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"
于 2013-02-14T06:23:42.350 回答