Навсегда изменить строку подключения в 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,

Другие вопросы по тегам