System.configuration web.config и app.config

При использовании третьего лица dll я получал следующее исключение:

exePath должен быть указан, если не работая в одиноком exe

со следующей трассировкой

Система. Конфигурация. ConfigurationManager. OpenExeConfigurationImpl (ConfigurationFileMap fileMap, булевская переменная isMachine, ConfigurationUserLevel userLevel, Строка exePath).

Причина, которую я нашел, состояла в том, что это искало app.config, и я предоставил подробную информацию в web.config. Мой вопрос: почему system.configuration дифференцируется между web.config и app.config? Какие-либо мысли?

5
задан yoozer8 11 July 2012 в 18:04
поделиться

2 ответа

Мне действительно нужно выбрать между грязными хаками или плохой стилью?

Нет, вы могли бы использовать JavaScript, как остальные из нас. Загрузите в свою стандартную форму (в комплекте с кнопочной кнопкой), а затем используйте аккуратно написанный JavaScript для динамической «исправить» некоторые из уродливых элементов. Я бы предложил оценить платформу JQuery Framework для этого типа, если вы хотите использовать Clean Code и получить поддержку кросс-браузера.

-121--3133473-

исполняемые материалы:

Несколько исполняемых файлов .NET могут жить в одном каталоге. Поскольку не могут быть два файла с тем же именем в одном каталоге, приложения должны использовать разные имена для их основных файлов конфигурации. ApplicationName.exe.config Схема решает это.

Веб-приложения / сайты:

.NET Web Applications составляются в DLL, а веб-сайты обычно скомпилированы в течение всего времени. Следовательно, в этих типах проектов нет «основной точки входа». Можно создать веб-проект, где каждая страница скомпилирована на собственную сборку. Какой из них главная ассамблея? В каком сборке мы должны назвать файл конфигурации после?

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

7
ответ дан 18 December 2019 в 14:46
поделиться

web.config предназначен только для вашего сайта и веб-приложений. Он остается фиксированным, т.е. не изменяет своего имени; всегда называется web.config.

app.config предназначен для не-web приложений - Winforms, WPF, NT Services и т.д. При сборке проекта он будет переименован в YourApplicationName.exe.config. Вы никогда не найдете app.config по этому имени в каталоге приложения (или, если найдете, он не будет использоваться).

Почему Microsoft выбрала два разных типа имен - я не знаю - спросите Microsoft.

Так что в основном вы просто должны знать, с чем имеете дело, и предоставлять информацию в правильном месте.

6
ответ дан 18 December 2019 в 14:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: