在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文件。打開該文件查看您正在訪問的生成代碼。 –