我正在尝试确保将我的应用部署到使用Web Deploy时已存在的特定应用程序池。在通过IIS管理器安装应用程序时,或者通过从Web包通过命令行安装时更改.setparameters.xml文件中的值,应由用户使用GUI配置应用程序池。将以下参数条目插入我的parameters.xml中并不起作用。
<parameter name="Application Pool" description="Application Pool for this site" tags="iisApp" defaultValue="ASP.NET v4.0">
<parameterEntry kind="providerPath" scope="IisApp" match="applicationPool" />
</parameter>
有没有直接的方法来实现这一目标?如果没有,我将如何完成这项工作?
答案 0 :(得分:7)
以下是我在SO和其他地方阅读大量文章后通过命令行或SetParameters.xml设置应用程序池的方法:
将Parameters.xml文件添加到项目中。
<?xml version="1.0" encoding="utf-8" ?>
<parameters>
<parameter name="AppPool" defaultValue="ASP.NET 4.0">
<parameterEntry kind="DeploymentObjectAttribute" scope="application" match="applicationPool/@applicationPool" />
</parameter>
</parameters>
创建包时,向msbuild添加两个参数:
/P:IncludeIisSettings=true
/P:IncludeAppPool=true
通过SetParameters.xml设置:
<setParameter name="AppPool" value="Some AppPoolName"/>
或强>
使用命令行参数(msdeploy
或*.deploy.cmd
):
"-setParam:'AppPool'='Some AppPoolName'"