MsDeploy parameters.xml:如何引用参数?

rdv*_*ren 5 parameters package msdeploy webdeploy

目前我正在尝试创建Web部署包.所以我在我的项目的根目录中添加了一个parameters.xml,并指定了一些自定义参数.我发现我的很多参数都是一样的.所以我想做一些参数引用.寻找这个,我来了Web应用程序包的 accros 参考.在那里它说:

隐藏 - 作为安装UI的一部分,不向用户显示隐藏参数.隐藏参数必须设置defaultValue.这些参数用于设置硬编码的默认值或设置计算的默认值.在建立参数以供将来使用时,有时会使用硬编码默认值.计算值用于从其他参数构造参数的值.构造计算值时,可以通过将{} s包围的其他参数名称放在您想要值的位置来引用其他参数.有关此标记的常见用法,请参阅示例中的"连接字符串"参数.

因此,根据文档,通过在"vdeDashboardAddress"上设置属性defaultValue ="https:// {vdeHostname} /"和tags ="Hidden",可以从"vdeDashboardAddress"引用参数"vdeHostName".

这导致我为parameters.xml提供以下代码:

<parameters>
  <parameter name="vdeHostname" description="Please provide the hostname" defaultValue="www.test.com">
    <description culture="en">The hostname of the website.</description>
    <parameterEntry kind="XmlFile"
                    scope="obj\\Release\\Package\\PackageTmp\\Configuration\\hosts\.config$"
                    match="/hostConfigurationSection/hostConfigurations/add[@name='Default']/@host" />
  </parameter>
  <parameter name="vdeDashboardAddress" defaultValue="https://{vdeHostname}/" tags="Hidden">
    <description culture="en">The https address of the Dashboard.</description>
    <parameterEntry kind="XmlFile"
                    scope="obj\\Release\\Package\\PackageTmp\\Configuration\\identity\.config$"
                    match="/system.identityModel/identityConfiguration[@name='Default']/audienceUris/add/@value" />
  </parameter>
<parameters>
Run Code Online (Sandbox Code Playgroud)

但是,情况似乎并非如此.它不引用/替换defaultValue中属性的各个部分.目前正在输出:

<audienceUris>
  <add value="https://{vdeHostname}/" />
</audienceUris>
Run Code Online (Sandbox Code Playgroud)

我在这里找到的唯一提到我的问题的线程是如何让Deploy.cmd填充Parameters.xml中的替换字段

  1. 有谁知道我在这里做错了什么?
  2. 规格不正确吗?然后,如何在parameters.xml中部分替换?

先感谢您!

最好的问候,rdvanbuuren

Ric*_*ter 0

我不确定,但该scope属性对我来说看起来很可疑。我面前的(工作)参数文件中的所有范围元素都采用以下形式:scope="\\Path\\To\\File\.extension$"假定指定的路径从部署应用程序的根文件夹开始。(例如,最常见的是scope="\\Web\.config$"。)我的工作文件中的范围属性都不包含路径的 Package\PackageTmp 部分,即使该路径存在于 WebDeploy 使用的 zip 文件中。