【问题标题】:Change My.Settings ConnectionString in runtime?在运行时更改 My.Settings ConnectionString?
【发布时间】:2012-09-08 19:37:25
【问题描述】:

我有一个 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文件中输入的吗??

【问题讨论】:

  • 你为什么使用'My.Settings("ConnectionString")'而不是强类型版本'My.Settings.ConnectionString'?

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


【解决方案1】:

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

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

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

【讨论】:

  • 感谢您的回答,是否可以将 ConnectionString 从应用程序更改为用户范围?在设置选项卡的“范围”列下,没有连接字符串的下拉列表,默认设置为应用程序,我无法将其更改为用户。
  • @Sultanen:我假设您想更改自己应用程序的设置。在“使用应用程序设置和用户设置”msdn.microsoft.com/en-us/library/bb397750> 中,您可以阅读如何使用它们。如果您向我们展示更多代码,我们最终可以更好地提示您出了什么问题。
猜你喜欢
  • 1970-01-01
  • 2011-01-25
  • 2010-09-30
  • 2015-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 1970-01-01
相关资源
最近更新 更多