Практическое руководство. Преобразование файла Web.config при развертывании проекта веб-приложения
При развертывании веб-сайта часто требуется, чтобы некоторые параметры в файле Web.config развертываемого приложения отличались от параметров в файле разработки Web.config. Например, может потребоваться отключить параметры отладки и изменить строки подключения таким образом, чтобы они указывали на другие базы данных. В этом разделе рассматривается, как настроить файл преобразования Web.config, применяемый автоматически во время развертывания, чтобы внести изменения в версии файлов Web.config, для которых выполнено развертывание.
Преобразования Web.config являются частью более широкой группы параметров, которые можно настроить для автоматизации процесса развертывания. Дополнительные сведения о задачах, связанных с настройкой автоматизированного развертывания, см. в следующих разделах:
Дополнительные сведения о развертывании проекта веб-приложения см. в разделе Карта содержимого развертывания ASP.NET.
Создание файла преобразования и написание для него кода
Для указания изменений, которые необходимо внести в файлы Web.config, используются файлы преобразования. Файл преобразования связан с конфигурацией построения. По умолчанию Visual Studio создает конфигурации построения Debug и Release. Кроме того, можно создать пользовательские конфигурации построения.
Создание файла преобразования и написание для него кода
Чтобы создать файл преобразования для пользовательской конфигурации построения, которая не существует, необходимо сперва создать конфигурацию построения с помощью окна Диспетчер конфигураций.
Чтобы открыть диалоговое окно Диспетчер конфигураций, щелкните этот пункт в меню Построение. Дополнительные сведения см. в разделе Диалоговое окно "Диспетчер конфигураций".
В окне Обозреватель решений разверните файл Web.config приложения.
Если какие-либо файлы преобразования уже были созданы, файл Web.config отображается в окне Диспетчер приложений с символом, означающим, что его можно развернуть; если развернуть файл Web.config, станут видны файлы преобразования.
Конфигурация построения, которой соответствует преобразование, обозначается строкой в имени файла. Например, имя файла преобразования для конфигурации построения Debug называется Web.Debug.config.
Если для конфигурации построения, которой задаются параметры, нет файла преобразования, щелкните правой кнопкой мыши файл Web.config в окне Обозреватель решений, затем выберите Добавить преобразования конфигурации.
Откройте файл преобразования для нужной конфигурации построения.
Измените файл преобразования, указав изменения, которые необходимо внести в развертываемый файл Web.config при выполнении развертывания с помощью данной конфигурации построения.
Файл преобразования по умолчанию включает комментарии, демонстрирующие код для некоторых стандартных преобразований.
В следующем примере показано, как использовать средство поиска Match и атрибут преобразования SetAttributes. Атрибут средства поиска Match идентифицирует элемент add в разделе connectionStrings в качестве элемента, который необходимо изменить. Атрибут преобразования SetAttributes указывает, что значение атрибута connectionString этого элемента должно быть изменено на "ReleaseSQLServer".
<configuration xmlns:xdt="https://schemas.microsoft.com/XML-Document-Transform"> <connectionStrings> <add name="MyDB" connectionString="ReleaseSQLServer" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> </connectionStrings> </configuration>
Дополнительные сведения о написании файлов преобразования см. в разделах Пошаговое руководство. Развертывание проекта веб-приложения с помощью пакета веб-развертывания (часть 1 из 4) и Синтаксис преобразования файла Web.config для развертывания проектов веб-приложений.
Сохраните и закройте файл преобразования.
При развертывании веб-приложения с использованием выбранной конфигурации построения и пакета развертывания или публикации одним щелчком файл Web.config преобразуется в соответствии с вашими спецификациями.
См. также
Задачи
Основные понятия
Карта содержимого развертывания ASP.NET
Практическое руководство. Развертывание проекта веб-приложения с помощью пакета веб-развертывания