Подтвердить что ты не робот

Как использовать преобразование Web.Config в строках подключения?

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

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

Синтаксис для меня не очевиден, и я полностью отказываюсь от поиска страницы на нем.

4b9b3361

Ответ 1

Это работает для меня, но я также обнаружил, что это время от времени немного. Вам нужно будет создать другой файл с именем 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>

Ответ 2

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

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