Web.config转换变量

是否有可能在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>

对于质量保证环境,我会...

<?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 vs 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>

几个月前我做了类似的事情。 示例位于http://www.geoffhudik.com/tech/2010/10/19/webconfig-automation-with-t4-and-a-macro.html


web.config转换不支持此功能。 有一件事你可以看看是创建一个T4模板,可以用来生成你的web.config转换。 所以想法是把变量放在T4模板中,它会吐出web.debug.config / web.release.config / etc。 然后,当你打包/发布时,它只会选择作为T4输出生成的转换文件。

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

链接地址: http://www.djcxy.com/p/51417.html

上一篇: Web.config Transform variables

下一篇: Programmatically format and indent automatically generated source from Java