Преобразования Web.config

Я знаю, что мы можем выполнить преобразование при развертывании в разных средах или настройках, используя преобразования web.config в приведенном ниже стиле, но мой вопрос заключается в том, можно ли полностью заменить другой раздел web.config этой техникой или некоторыми другими настройками. Для Например, у меня есть раздел <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>

person SP1    schedule 16.07.2014    source источник


Ответы (1)


У меня есть проект на NuGet под названием ConfigZilla, который может заменять целые разделы в файлах конфигурации. Он работает путем преобразования файла .template.config в файл .config, и вы можете выполнять там любое преобразование Xslt. Пример приведен здесь http://philipdaniels.com/configzilla/templates.html.

ConfigZilla использует несколько иной подход по сравнению с преобразованием веб-конфигурации. Я очень старался централизовать конфигурацию, чтобы она была более масштабируемой.

person Philip Daniels    schedule 28.07.2014