Web.config转换

时间:2014-07-16 18:55:37

标签: asp.net web-config web.config-transform

我知道我们可以在使用下面样式的web.config转换部署到不同的环境或设置时进行转换,但我的问题是是否可以使用此技术或其他方法完全替换web.config的另一部分settings.For例如我有一个<System.IdentityModel> </System.IdentityModel>部分,我想在部署到不同的环境时完全改变。这是可能的。

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <!--
    In the example below, the "SetAttributes" transform will change the value of 
    "connectionString" to use "ReleaseSQLServer" only when the "Match" locator 
    finds an attribute "name" that has a value of "MyDB".

    <connectionStrings>
      <add name="MyDB" 
        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
        xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    </connectionStrings>
  -->

</configuration>

1 个答案:

答案 0 :(得分:0)

我在NuGet上有一个名为ConfigZilla的项目,它可以替换配置文件中的整个部分。它的工作原理是将.template.config处理成.config文件,然后您可以在那里进行任何Xslt转换。这里有一个例子http://philipdaniels.com/configzilla/templates.html

与Web配置转换相比,ConfigZilla采用了略微不同的方法,我努力集中配置,以便更具可扩展性。