2015-09-22 4 views
4

У меня есть эта проблема, связанная с необходимостью иметь разные строки подключения для web.config на моем локальном компьютере и иметь преобразование выпуска, которое сделает производственные двоичные файлы с помощью machine.config на веб-сервере.Как настроить преобразование Web.Config для поддержки локальных и производственных конфигураций?

Так у меня есть эти файлы в моем визуальное решение студии:

Web.Config Web.Debug.Config Web.Release.Config

В web.config я удалены и добавлены новые строки подключения.

<remove name="connstring"> 
<add name="connstring" ConnectionString="blahblah" /> 

То, что я хочу сделать, это не иметь ничего в окончательном web.config при развертывании (по TFS сборки) на веб-сервере, так что моя веб-приложение будет использовать что-нибудь в machine.config на сервере.

Как я могу это сделать?

ответ

0

Вы можете удалить настройки конфигурации с помощью атрибута преобразования RemoveAll. Предполагая, что вы устанавливаете конфигурацию сборки Release, вы можете создать совершенно пустой web.config, поставив следующий в Web.Release.Config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xdt:Transform="RemoveAll" /> 

Это в результате web.config будет иметь декларацию XML в верхней и ничего больше.

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

<?xml version="1.0" encoding="utf-8"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <appSettings xdt:Transform="RemoveAll" /> 
</configuration> 

Смотрите полный Transformation Syntax Documentation для более подробной информации.

Смежные вопросы