【问题标题】:Web.config Transform variablesWeb.config 转换变量
【发布时间】:2012-01-14 14:00:06
【问题描述】:

是否可以在 web.config 转换文件中包含变量?对于每个环境,我都有基本相同的变换,只是具有不同的值。例如,对于开发环境,我会...

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
        <add key="serverName" value="server1" xdt:Transform="Replace" xdt:Locator="Match(key)" />
        <add key="serverPath" value="\\server1" xdt:Transform="Replace" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>

对于 QA 环境,我会...

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
        <add key="serverName" value="server2" xdt:Transform="Replace" xdt:Locator="Match(key)" />
        <add key="serverPath" value="\\server2" xdt:Transform="Replace" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>

唯一的区别是 server1 和 server2 的值。这是一个简单的示例,实际上,我在转换中多次使用服务器值。有没有办法在转换文件中声明要多次使用的变量?比如……

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <property name="server" value="server2" />
    <appSettings>
        <add key="serverName" value="${server}" xdt:Transform="Replace" xdt:Locator="Match(key)" />
        <add key="serverPath" value="\\${server}" xdt:Transform="Replace" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>

【问题讨论】:

    标签: web-deployment-project msdeploy webdeploy web-config-transform


    【解决方案1】:

    这不支持 web.config 转换。您可以查看的一件事是创建一个T4 Template,它可用于生成您的 web.config 转换。所以想法是将变量放在 T4 模板中,它会吐出 web.debug.config/web.release.config/etc。然后,当您打包/发布时,它只会拾取作为 T4 输出生成的转换文件。

    如果你能提供一些有用的具体例子,我不介意帮助你。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 这是您自己博客的仅链接答案。请在此处重新发布相关材料,以便在您的博客离线时,您的回答对其他查看者仍然有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 2015-03-06
      • 1970-01-01
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多