我可能不是第一个面对这个问题的人,但我无法在任何地方找到正确答案。为什么ConnectionString设置的范围总是被强制为“Application”?
我有一个使用强类型DataSet的Windows窗体应用程序。设计人员使用应用程序设置中定义的连接字符串。问题是这个设置被定义为应用程序范围(因此是只读的),我需要能够在运行时更改它。在设置设计器中,如果设置的类型是“连接字符串”,则无法将范围更改为“用户”。生成的数据集不提供允许在运行时选择连接字符串的构造函数,它始终使用设置中的那个。
你知道MS为什么引入这个限制吗?你有任何解决方法?
我目前正在使用一个很丑的解决方法:将设置的类型更改为“String”,并将范围更改为“User”。这样,我可以在运行时更改它,并且工作正常。麻烦的是,当我需要修改设计器中的数据集时,必须将其更改回“ConnectionString”,否则设计器无法工作。
在此先感谢您的建议!
感谢您的回答。这是一个很好的解决方案,但Properties.Settings.Default.Save()不保存这个设置......我想我可以在别处手动保存它,并且当我的应用程序启动时总是覆盖它。 – 2009-06-06 14:14:23