在运行时更改My.Settings ConnectionString?

时间:2012-09-08 19:37:25

标签: vb.net visual-studio connection-string

我有一个ClickOnce部署,我在网络文件上有一个INI设置文件,其中“全局”设置应该影响所有客户端计算机上的程序。 我遇到的问题是我希望将数据库connectionString存储在此INI文件中,并在程序启动时将其读取并存储在My.Settings ConnectionString中。我该怎么做呢? ConnectionString设置是Application scoped,因此只读,如果我尝试按My.Settings("ConnectionString") = "Source=server;Initial Catalog=database;Integrated Security=True"设置它 我收到运行时错误:

  

创建表单时出错。请参阅Exception.InnerException   细节。错误是:'DB_lib.DB_LINQ'的类型初始值设定项   抛出异常。

[编辑] 我在另一个地方使用My.Settings("ConnectionString") = "Source=server;Initial Catalog=database;Integrated Security=True"然后使用我创建的eventtriggerd settingsLoaded方法摆脱了错误。问题是即使连接字符串是正确的,程序仍然连接到“默认”键入app.config文件的数据库??

1 个答案:

答案 0 :(得分:1)

您无法在应用程序中更改应用程序设置。将其更改为用户设置。

或者编写您自己的设置(来自msdn):

  

如果您想要更详细地控制您的设置,可以定义   您自己的自定义应用程序设置包装类。这是   通过从ApplicationSettingsBase派生一个类来完成,添加   与每个设置对应的属性,并应用特殊   属性到这些属性。有关创建包装器的详细信息   课程,请参阅Application Settings Architecture