Навсегда изменить строку подключения в app.config из кода позади
Мне нужна помощь с программой, которую я разрабатываю, я хочу, чтобы пользователь мог установить строку подключения к базе данных из формы, которую я разработал. Я видел много статей на эту тему, в том числе много ответов о переполнении стека, которые все работали, но ни одна из них не записывала соединение постоянно в файл app.config, то есть, когда приложение закрывается, строка соединения сохраняет свое прежнее значение (во время отладки), Я хочу знать, если есть способ, которым я могу решить эту проблему.
Я уже пробовал это: Как я могу обновить значение источника данных app.config connectionstring в C#?
И это то, что я сейчас использую:
http://www.codeproject.com/Questions/388444/How-change-connection-string-dynamically-in-csharp См. Решение 2
1 ответ
Предполагая, что это Forms/Console, приложение называется WindowsFormsApplication1
:
При запуске приложения в Visual Studio в режиме отладки файл, который будет обновлен:
bin\Debug\WindowsFormsApplication1.vshost.exe.Config
Каждый раз, когда вы завершаете сеанс отладки, этот файл возвращается к тому, что содержится в вашем проекте. app.config
файл.
Есть причины для такого поведения, которые у меня нет времени, чтобы объяснить прямо сейчас.
Когда вы запускаете приложение автономно, т.е. не в Visual Studio, тогда app.config
файл, развернутый с двоичными файлами вашего приложения, будет файлом, который обновляется.
Например, я скопировал вывод моего bin\Release
папка (исключая любые *.vshost.*
файлы) в другой каталог за пределами структуры проекта, запустил приложение и, конечно же, мои изменения конфигурации сохраняются в app.config
,