Классические приложения ASP.NET получают свою конфигурацию из иерархии значений web.config. Другие приложения (консольные приложения, приложения Windows Forms, WPF, Services, ...) получают конфигурацию из файла конфигурации с именем [NameOfExe] .exe.config (а иногда из [NameOfAssembly] .dll.config. Этот файл находится в той же папке, что и сам exe.
Например, если ваша служба - MyWcfService.exe, вы, скорее всего, найдете файл MyWcfService.exe.config в той же папке (например, в папке bin / debug). Его содержимое должно быть таким же, как ваш app.config.
Visual Studio делает все это «просто работой», создавая файл app.config в исходной папке, а затем во время сборки копируя содержимое этого файла в файл с соответствующим именем [NameOfExe] .exe.config в той же папке, что и EXE.
В нормальном случае у вас может быть один набор URL-адресов (и, возможно, других данных) для вашей среды разработки, другой для QA, другой для Integration Test и другой для Prod. Вы можете управлять этим с помощью конфигурационных преобразований .
Я думаю, что это как-то способ ответить на ваши вопросы. В итоге
- Файлы App.config имеют почти те же возможности, что и файлы web.config
- Файлы App.config получают «скомпилированные» файлы [NameOfExe] .exe.config во время сборки и помещаются в ту же папку в EXE
- Преобразования конфигурации могут помочь вам в управлении вашими URL-адресами
Ваш другой выбор - управлять набором файлов [NameOfExe] .exe. [Environment] .config и вручную помещать их в нужное место.