Я успешно написал консольное приложение C #, которое собирает .XML
или .ZIP
файлы из разных мест и копирует их в один пункт назначения.Эти местоположения сохраняются в настройках в качестве пользовательских настроек (например, "Folder01 C:\Data1\"
и "Folder02:\Data2"
).Как вы, вероятно, уже знаете, при создании проекта в папке /bin/Debug
создается файл [ProjectName].exe.config
.
Теперь проблема в том, что я не могу заставить консольное приложение распознавать любые изменения, внесенные в файл .exe.config
.Скажем, я хочу добавить "Folder 03 C:\Data3\"
к настройкам или отредактировать "Folder02"
путь к "C:\DataEdited\"
, консольное приложение по-прежнему будет циклически перебирать настройки, которые изначально были установлены в коде («Folder01 C: \ Data1 \» и «Папка02 C: \ Data2 \ ").
Я также заметил, что консольное приложение все еще работает даже после удаления файла .exe.config
, как будто оно вообще не полагается на файл.Я хотел бы внести изменения без необходимости открывать проект в Visual Studio и редактировать локально.
Возможно ли это?
РЕДАКТИРОВАТЬ:
В ответ на запрос созданных мною настроек и кода для получения путей к папкам см. Изображениеизображение ниже:
Вот код:
string[] acceptedExtensions = new[] { ".xml", ".zip" };
string[] settingsToSkip = new[] { "RootFolder", "ArchiveFolder" };
// Collect data
var filteredSettings = Properties.Settings.Default.Properties
.Cast<SettingsProperty>()
.Where(p => !settingsToSkip.Contains(p.Name));
FilterSettings собирает Folder01, Folder02, Folder03 и Folder04 и я перебираю их, чтобы найти файлы с acceptExtensions .