-1

我有一个 ClickOnce 部署,其中我在网络文件上有一个 INI 设置文件,其中包含应该影响所有客户端计算机上的程序的“全局”设置。我遇到的问题是我想将数据库连接字符串存储在此 INI 文件中,并在程序启动时将其读取并存储在 My.Settings ConnectionString 中。我该怎么做呢?ConnectionString 设置是应用程序范围的,因此是只读的,如果我尝试设置它, 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 文件中?

4

1 回答 1

1

您不能从应用程序中更改应用程序设置。将其更改为用户设置。

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

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

于 2012-09-08T20:47:38.210 回答