【问题标题】:How do I target an already existing application pool with webdeploy?如何使用 webdeploy 定位已经存在的应用程序池?
【发布时间】:2013-03-24 08:07:10
【问题描述】:

我正在尝试确保将我的应用程序部署到使用 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>

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

【问题讨论】:

    标签: msdeploy webdeploy microsoft-web-deploy


    【解决方案1】:

    在大量阅读 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'"
      

    【讨论】:

    • 包含这些参数时,出现错误 MSB4044:“EscapeTextForRegularExpressions”任务没有为所需参数“文本”指定值。尝试构建时
    猜你喜欢
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 2011-06-30
    • 1970-01-01
    • 2015-02-21
    • 2011-09-11
    相关资源
    最近更新 更多