MSBuild 4和MSDeploy命令行

gap*_*apo 7 msbuild msdeploy

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

从VS 2010开始,一切都很棒.但是,我使用这个命令行时遇到了问题

c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe "d:\Projects\test.csproj" /T:Package /P:PackageLocation="d:\Package\packageTest.zip"
Run Code Online (Sandbox Code Playgroud)

创建包

d:\Projects\packageTest.deploy.cmd "-setParam:name='IIS Web Application Name',value=MSBuild/Test2" /y
Run Code Online (Sandbox Code Playgroud)

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

Tho*_*dal 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
Run Code Online (Sandbox Code Playgroud)

如果您不想手动设置站点,可以运行类似下面的电源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"
Run Code Online (Sandbox Code Playgroud)