Web.Debug.config не обрабатывает подстановку - PullRequest
5 голосов
/ 28 декабря 2011

У меня есть веб-приложение в VS2010 с таким web.config, как это:

...
<configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=MyProdDb;Initial Catalog=MyCat;User Id=MyUser;Password=MyPass;"
         providerName="System.Data.SqlClient" /> 
  </connectionStrings>
...

и Web.Debug.config, например:

...
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <connectionStrings>
        <add name="ApplicationServices"
          connectionString="data source=MyDevDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
          xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    </connectionStrings>
...

Проект настроен на создание отладочной сборки, и когда я запускаю его в отладчике, я получаю MyProdDb вместо MyDevDb

Чего мне не хватает?

Ответы [ 4 ]

4 голосов
/ 03 апреля 2012

ОБНОВЛЕННАЯ ИНФОРМАЦИЯ

Теперь можно обрабатывать произвольные файлы .config на основе XML, и обработка может происходить во время сборки, а не во время развертывания

http://www.hanselman.com/blog/SlowCheetahWebconfigTransformationSyntaxNowGeneralizedForAnyXMLConfigurationFile.aspx

Блестяще, преобразования также могут быть предварительно просмотрены непосредственно в Visual Studio.

3 голосов
/ 28 декабря 2011

Чего мне не хватает?

Вам не хватает того факта, что преобразование web.config происходит только при выполнении развертывания. Если вы не публикуете свое веб-приложение, вы не можете ожидать каких-либо преобразований. Если вы просто запускаете свой сайт локально, нажимая F5 , преобразование не произойдет. Преобразование выполняется только при публикации приложения.

2 голосов
/ 28 декабря 2011

Как уже говорили, версии web.config применяются только во время публикации (MSDeploy). Обычный способ сделать что-либо - сохранить конфигурацию «Debug» в фактическом файле web.config и внести изменения в нее для каждого имеющегося сценария развертывания.

0 голосов
/ 28 декабря 2011

Преобразования Web.config обрабатываются только во время публикации. При отладке (даже в режиме выпуска) используется основной файл Web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...