При использовании третьего лица dll я получал следующее исключение:
exePath должен быть указан, если не работая в одиноком exe
со следующей трассировкой
Система. Конфигурация. ConfigurationManager. OpenExeConfigurationImpl (ConfigurationFileMap fileMap, булевская переменная isMachine, ConfigurationUserLevel userLevel, Строка exePath).
Причина, которую я нашел, состояла в том, что это искало app.config, и я предоставил подробную информацию в web.config. Мой вопрос: почему system.configuration дифференцируется между web.config и app.config? Какие-либо мысли?
Мне действительно нужно выбрать между грязными хаками или плохой стилью?
Нет, вы могли бы использовать JavaScript, как остальные из нас. Загрузите в свою стандартную форму (в комплекте с кнопочной кнопкой), а затем используйте аккуратно написанный JavaScript для динамической «исправить» некоторые из уродливых элементов. Я бы предложил оценить платформу JQuery Framework для этого типа, если вы хотите использовать Clean Code и получить поддержку кросс-браузера.
-121--3133473-исполняемые материалы:
Несколько исполняемых файлов .NET могут жить в одном каталоге. Поскольку не могут быть два файла с тем же именем в одном каталоге, приложения должны использовать разные имена для их основных файлов конфигурации. ApplicationName.exe.config
Схема решает это.
Веб-приложения / сайты:
.NET Web Applications составляются в DLL, а веб-сайты обычно скомпилированы в течение всего времени. Следовательно, в этих типах проектов нет «основной точки входа». Можно создать веб-проект, где каждая страница скомпилирована на собственную сборку. Какой из них главная ассамблея? В каком сборке мы должны назвать файл конфигурации после?
К счастью, только один веб-проект может быть размещен из одного каталога, поэтому здесь будет жить только один главный файл конфигурации. Это позволяет выбрать основное имя файла конфигурации, которое будет выбрано Конвенцией, и это имя файла происходит web.config
.
web.config
предназначен только для вашего сайта и веб-приложений. Он остается фиксированным, т.е. не изменяет своего имени; всегда называется web.config
.
app.config
предназначен для не-web приложений - Winforms, WPF, NT Services и т.д. При сборке проекта он будет переименован в YourApplicationName.exe.config
. Вы никогда не найдете app.config
по этому имени в каталоге приложения (или, если найдете, он не будет использоваться).
Почему Microsoft выбрала два разных типа имен - я не знаю - спросите Microsoft.
Так что в основном вы просто должны знать, с чем имеете дело, и предоставлять информацию в правильном месте.