Когда я создаю пакет развертывания для моего webapp, пакет содержит файл archive.xml, который содержит следующее:
<createApp
applicationPool=""
MSDeploy.applicationPool="1"
appExists="True"
MSDeploy.appExists="1"
... />
Вопрос:
Как я могу управлять пулом приложений, в который устанавливается webapp, и, в некоторых случаях, создавать новый пул приложений? Существуют ли параметры VS, которые я могу изменить, чтобы управлять указанным выше выходом или иным образом влиять на то, как пул приложений во время развертывания?
Что я нашел до сих пор:
1. Параметр MSBuild
В соответствии с одним сообщением SO я могу сообщить msbuild использовать пул приложений, добавив следующий параметр, но я не мог видеть никакой разницы в сгенерированном выходе:
/p:IncludeAppPool=true
2. Настройка параметров .xml файла
Другое сообщение о настройке пула приложений для msdeploy, кажется, подразумевает, что я могу изменить сгенерированный файл parameters.xml
, чтобы я мог указать имя пула приложений как аргумент msdeploy. Этот файл существует в пакете zip, поэтому его будет непросто настроить. Если я поменю его на архив, тогда файл станет более доступным.
3. Изменение настроек VS
Как развернуть страницу webapp, похоже, мне нужно будет переключиться с IIS Express на IIS, а затем включить некоторые флажки. На странице свойств проекта флажок Include application pool settings used by this Web project
отключен, независимо от установки флажка "Включить параметры IIS, настроенные в IIS Express" (который я сейчас не отмечен). Я попробую переключиться на полный IIS и посмотрю, поможет ли это мне лучше.
4. Создайте пул приложений с помощью cscript
Похоже, что я могу создать пул приложений с помощью отдельного инструмента, но я не уверен, что это только TFS. Это инструмент, который я раньше не видел, но он может быть удобным инструментом.
5. У MSDeploy есть поставщик appPoolConfig
MSDeploy поставщик appPoolConfig выглядит многообещающим, поскольку я мог бы вручную настроить пул приложений, а затем использовать его как источник синхронизации, но, по крайней мере, это только ручной раз.