MSBuild 4 и командная строка MSDeploy - PullRequest
7 голосов
/ 14 июля 2010

Я пытаюсь автоматизировать развертывание сайта. Я начал с этой статьи

и все отлично работает с 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 неверно. Разве эта информация не должна быть взята из файла .csproj? Все эти настройки сделаны для отладочной конфигурации и платформы для любого процессора

1 Ответ

6 голосов
/ 14 февраля 2013

Обычно вы сначала настраиваете свое приложение на 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, которая выглядит примерно так:

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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...