Как использовать преобразование Web.Config в строках подключения? - PullRequest
33 голосов
/ 03 декабря 2011

В моем текущем проекте у меня есть несколько строк подключения, которые действительны для локальных машин разработки:

<configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="Data Source=localhost;Initial Catalog=MyDB;Integrated Security=SSPI"
  </connectionStrings>
....
</configuration>

Как бы я использовал преобразования Web.Config для преобразования из этого выражения в выражение, допустимое для нашего производствасервер?Рабочий сервер, на первый взгляд, выглядел бы примерно так:

<configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword"
  </connectionStrings>
....
</configuration>

Синтаксис для меня неочевиден, и я совершенно не могу ухватить страницу на нем.

Ответы [ 2 ]

50 голосов
/ 03 декабря 2011

Это работает для меня, но я тоже время от времени находил это немного странным.Вам нужно будет создать еще один файл с именем Web.Config.Release и заполнить его следующим текстом:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <connectionStrings>
    <add name="local" connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword" 
    xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>

  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />

  </system.web>
    <appSettings>
        <add key="default_db_connection" value="local" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
    </appSettings>
</configuration>
8 голосов
/ 03 декабря 2011

Вам не нужно создавать новый файл, он должен находиться в обозревателе решений, развернуть Web.config и открыть Web.Release.config.

Скотт Аллан имеет хорошее видео здесь (в разделе Конфигурация и развертывание> Преобразования конфигурации).

...