|
Как поменять app.config при запуске приложения?
|
|||
---|---|---|---|
#18+
Добрый день. Было у меня приложение, которое хранило данные об окружении в файлике environment.xml. Внезапно, возникла необходимость, парсить не environment.xml, а environment_new.xml, причем динамически (т.е. юзер поменял конфиг и приложение после старта уже смотрит на другое окружение, перезапуск необходим). Все казалось бы, ничего, но вот засада: ссылка на файлик находится в app.config. Пробовал менять его ручками -- все работает, как надо. Но ручками менять app.config очень нехота. Пробовал его прочитать в момент создания приложения: Код: c# 1.
а говорят, что te - это null . В принципе, я бы и не менял app.configб но вот такая конструкция читает настройки корректно: Код: c# 1.
а такая, уже нет: Код: c# 1. 2.
Подскажите, как лучше из положения выйти. Кусочек app.config: Код: xml 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2014, 18:08 |
|
Как поменять app.config при запуске приложения?
|
|||
---|---|---|---|
#18+
Жентос, 16766056 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2014, 19:08 |
|
Как поменять app.config при запуске приложения?
|
|||
---|---|---|---|
#18+
В общем, код получился ужасный во всех смыслах.... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 17:14 |
|
Как поменять app.config при запуске приложения?
|
|||
---|---|---|---|
#18+
Благодарю всех за помощь. И у меня есть еще пара вопросов: - подскажите, я могу в объекте Configuration cоздавать новые разделы. В теперешнем решении меня не устраивает то, что в конфигурации хранится ссылка на существующий файл. - что можно почитать, чтобы быстро понять, как с конфигурациями работать, что там должно быть, а что нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 17:20 |
|
Как поменять app.config при запуске приложения?
|
|||
---|---|---|---|
#18+
Жентос что там должно быть, а что нет? В идеальном случае там не должно быть секций, которые добавили программно. Для изменяемых из аппликации значений можно и другой файл или базу данных использовать... Исключения конечно есть - когда аппликация после запуска шифрует коннекшен стринг.... Но вот секции то зачем добавлять? Если для создания первого файла из пустого - то этож разовая операция, никто кроме программера не сможет ее использовать.... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2014, 12:09 |
|
Как поменять app.config при запуске приложения?
|
|||
---|---|---|---|
#18+
D129Для изменяемых из аппликации значений можно и другой файл или базу данных использовать... Да, понимаю. Но вот программа ходит за настройками именно в тот файл, который в app.config. В идеале, я бы хотел при старте программы указывать этот файл и убрать его из app.config (чтобы настройка бралась именно для Configuration из ConfigurationManager), но парсить именно нужный файл настроек у меня пока не получилось. Знаний пока маловато D129Но вот секции то зачем добавлять? Если для создания первого файла из пустого - то этож разовая операция, никто кроме программера не сможет ее использовать.... В настоящий момент, в app.config находится ссылка на существующий файл, которая будет изменена при старте программы. Если файла нет на диске, проект не запустится. Если в аpp.config не будет раздела, проект запустится нормально. Приложение - робот для тестов. Теоретически, у каждой виртуальной машины может быть свой набор файлов с настройками, а тот, который в app.config указан, может и не быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2014, 13:46 |
|
Как поменять app.config при запуске приложения?
|
|||
---|---|---|---|
#18+
Жентос но парсить именно нужный файл настроек у меня пока не получилось. Знаний пока маловато Вы как-то в кучу все валите. Сложно же будет потом разбираться. Апп конфиг - это не место чтобы хранить повторяющиеся параметры или сценарии для робота. Адрес файла сценариев - да, но это аналог строки подключения к БД, логически. Вот например это уже слишком сложно для меня: ЖентосВ настоящий момент, в app.config находится ссылка на существующий файл, которая будет изменена при старте программы. Если файла нет на диске, проект не запустится. Если в аpp.config не будет раздела, проект запустится нормально. Приложение - робот для тестов. Теоретически, у каждой виртуальной машины может быть свой набор файлов с настройками , а тот, который в app.config указан, может и не быть . :-/ :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2014, 15:44 |
|
|
start [/forum/topic.php?fid=20&msg=38797413&tid=1402275]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 339ms |
total: | 470ms |
0 / 0 |