Когда app.config создается, когда app.exe.config и каково различие

Мы создали приложение WinForms и храним некоторые конфигурации через класс ConfigurationManager. Чтобы хранить информацию, я использую

Configuration pConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
pConfig.AppSettings.Settings.Add("updates", szUpdatesURL);
pConfig.Save(ConfigurationSaveMode.Modified);

Проблема здесь состоит в том, что в некоторых случаях приложение создает "appname" .config файл и в других случаях "appname" .exe.config.

Здесь я должен отметить, что конфигурационный файл не поставляется по умолчанию, так как он не всегда требуется.

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

Я выполнил тесты, на том же ПК, с тем же самым .exe, и я получаю оба результата. Что продолжается здесь?

Каково различие между этими двумя, и как я могу определить, какой должен быть создан? Большое спасибо

23
задан Nikos Steiakakis 1 February 2010 в 08:15
поделиться

1 ответ

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

Также я считаю, что tomcat загружает экземпляр класса для каждого приложения, чтобы не экономить память, используя его в качестве общего класса.

См. также:

Загружает ли Tomcat один и тот же файл библиотеки в память дважды, если он находится в двух веб-приложениях?

-121--3950563-

Попросите людей решить его в качестве captcha на вашем веб-сайте:)

-121--2805522-

При компиляции приложения автоматически создается файл appname.exe.config. Это файл, который должен быть распространен среди конечных пользователей (вместе с exe-файлом, конечно). Параметры, заданные в файле appname.config, передаются в файл appname.exe.config. Это, по существу, одни и те же файлы . Причина существования appname.config заключается в том, что при запуске исполняемого файла он является просто именем исполняемого файла с суффиксом .config . Однако в случае изменения имени исполняемого файла необходимо вручную изменить имя файла exe.config. Поэтому путем автоматического переименования во время компиляции файл app.config может изменить свое имя на newappname.exe.config, и CLR все равно получит его. Вероятно, файл appname.exe.config создан в каталоге bin. Я надеюсь, что это ясно:) Ссылки ниже могут объяснить это несколько более глубоко.

Здесь есть хорошее объяснение . Другое хорошее чтение на CodePlex .

27
ответ дан 29 November 2019 в 02:44
поделиться
Другие вопросы по тегам:

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