Понимание преобразований ASP.NET Web.config - Web.Debug.config - PullRequest
0 голосов
/ 17 октября 2018

Я боролся с этим в течение часа и не могу найти ни простого объяснения, ни хотя бы какой-нибудь документации Microsoft, в которой говорится об этом.

Я хочу понять поведение следующих файлов:

  • Web.config
  • Web.Debug.config
  • Web.Release.config
  • Web.Staging.config (я создал это, щелкнув правой кнопкой мыши на Web.config -> Добавить преобразование конфигурации)

Я добавил следующее приложение, устанавливающее в Web.config файл:

<configuration>
  ..
  <appSettings>
    <add key="DevDisplayPanel" value="default value" />
  </appSettings>
  ..
</configuration>

В моем Web.Debug.config Я изменил DevDisplayPanel на это:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="DevDisplayPanel" 
         xdt:Transform="Replace" 
         xdt:Locator="Match(key)" 
         value="Debug mode" />
  </appSettings>
</configuration>

Я отобразил элемент appSettings так:

ViewBag.Test = System.Configuration.ConfigurationManager.AppSettings["DevDisplayPanel"];

Я понял, что еслиЯ запускаю Debug -> Start Debugging в Visual Studio , чтобы параметр DevDisplayPanel читался из Web.Debug.config .Я не могу найти документацию Microsoft об этом.

Я пытался запустить свое веб-приложение, используя конфигурацию решения Debug, Release и Staging, но все они показывают значение DevDisplayPanel из файла Web.config .

Где находятся файлы Web.Debug | Release | MyConfiguraton.config вступают в игру.Что я пропустил и, самое главное, это поведение должно быть выделено жирным шрифтом где-то в документах !!

1 Ответ

0 голосов
/ 17 октября 2018

Преобразования Web.config связаны с Публикацией вашего проекта в заданной конфигурации.

При отладке в Visual Studio всегда используется простой файл web.config, независимо от того, чтоКонфигурация.

Вам необходимо выбрать Build => Publish из опций меню и затем запустить опубликованное приложение.

...