当我为webapp构建部署包时,该包包含一个archive.xml文件,其中包含以下内容:
<createApp
applicationPool=""
MSDeploy.applicationPool="1"
appExists="True"
MSDeploy.appExists="1"
... />
Run Code Online (Sandbox Code Playgroud)
如何控制安装webapp的应用程序池,并在某些情况下创建新的应用程序池?是否有VS设置我可以更改以控制上述输出或以其他方式影响应用程序池在部署时的方式?
根据一篇SO帖子,我可以通过添加以下选项告诉msbuild使用应用程序池,但我看不出生成的输出有任何区别:
/p:IncludeAppPool=true
Run Code Online (Sandbox Code Playgroud)
关于为msdeploy设置应用程序池的另一篇文章似乎暗示我可能能够修改生成的parameters.xml文件,以便我可以将应用程序池名称指定为msdeploy的参数.此文件存在于zip包中,因此不容易自定义.如果我将其更改为存档,则文件更容易访问.
该HOWTO部署web应用程序页面似乎暗示我可能需要从IIS快速切换到IIS,然后再启用一些复选框.在我的项目属性页面上,Include application pool settings used by this Web project无论"在IIS Express中配置了包含IIS设置"复选框设置(我目前尚未选中),都会禁用该复选框.我将尝试切换到下一个完整的IIS,看看是否能让我更好地控制.
看起来我可以用一个单独的工具创建一个应用程序池,但我不确定它是否只是TFS.这是我以前从未见过的工具,但它可能是一个功能强大的工具.
MSDeploy的appPoolConfig提供程序看起来很有前途,因为我可以手动设置一个应用程序池,然后将其用作同步源,但至少它只是手动一次.