从文本框中更新我的 App.config 连接字符串

Updating my App.config Connection String from a text box

我希望用户能够编辑连接字符串,我设置了一个文件浏览器对话框,他们只能在其中 select .accdb 文件,我正在尝试使用保存按钮使用文本框中的文件路径覆盖当前连接字符串。我在不同的时间遇到​​了多个错误,最后我得到了一个看起来非常接近工作的设置,但是我有一个 NullReferenceException 错误,上面写着 "Object reference is not set to an instance of an object"。希望这是一个新手错误。

var configuration = ConfigurationManager.OpenExeConfiguration(@"\Mac\Home\Documents\Visual Studio 2015\Projects\tiddlywinks\tiddlywinks\App.config");
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
section.ConnectionStrings["tiddlywinksDatabaseConnectionString1"].ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source ='" + filePathTextBox.Text + "'; Persist Security Info=False;";
configuration.Save();

这是我在 atm 上的密码。有人可以帮忙吗?
另外,有没有一种方法可以在不必告诉程序 App.config 在哪里的情况下实现相同的目的,Visual Studios 肯定知道它自己的配置文件在哪里?

用户无法在 运行 时更改应用程序设置。 它只能在设计时修改。 为此使用用户设置。

如何:Using Application Settings and User Settings

此致

你可以这样做: 你去你的解决方案属性

Properties => Settings => Add new Settings

(Make sure Scope is "user")

并为您的连接字符串添加一个新位置,我们称之为:ConnectionString

就像这篇 post 中提到的: Applications sittings

那么你所要做的就是

Properties.Settings.Default.ConnectionString = TextBoxConnectionString.Text
Properties.Settings.Default.Save();

试一试,希望对您有所帮助!