MSBuild 4 和 MSDeploy 命令行

标签 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 完成的

最佳答案

您通常首先在 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

如果您不想手动设置站点,则可以运行如下所示的电源 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"

关于MSBuild 4 和 MSDeploy 命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246938/

相关文章:

c# - 有没有办法在应用程序的代码中使用 MSBuild 来构建另一个应用程序

c++ - 如何在 Visual Studio 中支持复杂的项目配置?

msbuild - 使用 MsBuild 生成自定义的 MsDeploy list (包目标)

msdeploy - 使用 msdeploy.exe 将文件夹部署到远程站点

Msdeploy 替换属性

msdeploy 如何将 IIS_IUSRS 的读/写权限授予 c :\windows\temp folder

asp.net-mvc - allowDefinition ='MachineToApplication' 错误设置 <MvcBuildViews>true</MvcBuildViews>

visual-studio-2008 - "the outputpath property is not set for this project"错误

IIS WebDeploy 通过 Powershell 导出服务器包

c++ - CMake:无法运行 MSBuild 命令:MSBuild.exe