在VS 2010中VB.net编码,我有:VS 2010阅读配置设置
Imports System.Configuration
,我加入到System.Configuration参考。
当执行
**MsgBox(ConfigurationManager.AppSettings("sDBName").ToString)**
,它失败,用“未设置为一个对象的实例对象引用”。 设置了sDBName。
我错过了什么?
回应:
对不起,我在回复您的延迟;其他的事情要求我注意。
我的app.config文件中没有这样的部分。我通过Settings1.settings文件添加了sDBName和其他设置;这些对象在app.cong自动显示如下:
<applicationSettings>
<QuickRequest.Settings1>
<setting name="sDBName" serializeAs="String">
<value>xxx</value>
</setting>
<setting name="sInputPath" serializeAs="String">
<value>c:\yyy\Infile\</value>
</setting>
</QuickRequest.Settings1>
感谢您的回复。当我输入“My.Settings”时,intellisense给了我一个列表,但我的设置不是它的一部分。我也试过“My.Settings.Item(”sDBName“)”,然后我执行了程序。当它到达那一行时,我收到一个错误,如下所示:“找不到设置属性'sDBName'。” – DeveloperM
我尝试了你的第二个建议(使用“Default”)并且工作正常。但是,我想了解这里发生了什么。为什么不是第一种方法工作?为什么不引用ConfigurationManager.AppSettings?谢谢你的时间和分享您的知识! – DeveloperM
您不能使用ConfigurationManager.AppSettings,因为您的设置不会进入配置的appSettings部分,但可能是userSettings部分。至于编程访问,您可以通过单击“显示Solutino资源管理器中的所有文件“按钮,然后展开Settings1以查看Settings1.Designer.vb文件。打开该文件查看您正在访问的生成代码。 –