12

我正在尝试确保将我的应用程序部署到使用 Web 部署时已经存在的特定应用程序池。应用程序池应该由用户在通过 IIS 管理器安装应用程序时使用 GUI 进行配置,或者在通过命令行从 Web 包安装时更改 .setparameters.xml 文件中的值。将以下参数条目插入到我的 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>

有没有一种简单的方法可以做到这一点?如果没有,我将如何完成这项工作?

4

1 回答 1

9

这是我在 SO 和其他地方大量阅读后通过命令行或 SetParameters.xml 设置应用程序池的方法:

  1. 将 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>
    
  2. 创建包时在msbuild中添加两个参数:

    /P:IncludeIisSettings=true
    /P:IncludeAppPool=true
    
  3. 通过 SetParameters.xml 设置:

    <setParameter name="AppPool" value="Some AppPoolName"/>
    

    或者

    使用命令行参数(msdeploy*.deploy.cmd):

    "-setParam:'AppPool'='Some AppPoolName'"
    
于 2013-05-17T19:43:44.550 回答