【发布时间】:2014-06-02 18:18:41
【问题描述】:
目前我正在尝试创建一个 Web 部署包。所以我在项目的根目录中添加了一个 parameters.xml 并指定了一些自定义参数。 我发现我的很多参数都部分相同。所以我想做某种参数引用。寻找这个,我来了Reference for the Web Application Package。上面写着:
隐藏 - 隐藏参数不会作为安装 UI 的一部分向用户显示。隐藏参数必须具有 defaultValue 集。这些参数用于设置硬编码的默认值或设置计算的默认值。在建立参数以供将来使用时,有时会使用硬编码默认值。计算值用于从其他参数构造参数的值。在构造计算值时,您可以通过将 {} 包围的其他参数名称放在您想要值的位置来引用其他参数。该标签的常用用法请参考示例中的“连接字符串”参数。
因此,根据文档,可以通过在“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>
但是,情况似乎并非如此。它不引用/替换 defaultValue 中的属性部分。 目前正在输出:
<audienceUris>
<add value="https://{vdeHostname}/" />
</audienceUris>
我在这里找到的唯一一个提到我的问题的帖子是How to get Deploy.cmd to fill in replacement fields from Parameters.xml
- 有谁知道我在这里做错了什么?
- 规格不正确吗?那么,如何在parameters.xml 中进行部分替换呢?
提前谢谢你!
最好的问候,rdvanbuuren
【问题讨论】:
-
我也有同样的问题。你有解决方案吗?
-
不,我还没有遇到任何解决方案。我想出的唯一解决方案就是完整地编写它,而不是使用替换。
标签: parameters package msdeploy webdeploy