我已經繼承了一個使用配置管理器類來存儲和檢索設置的應用程序。在app.config類中,存在包含「服務器」屬性的自定義部分組「userSettings」。爲什麼我的應用程序設置檢索到不同的值,我期望的?
在app.config文件中,該值被定義爲「a14」。在Settings.Designer.vb中,當我嘗試訪問My.Settings.Server時,默認值被指定爲「a5」,它將帶回值「a10」,這是我以前在app.config文件中使用的值。
對配置管理器沒有多少經驗,我很難確定它從哪裏獲取這個值,以及我需要更改哪些值,以便檢索正確的服務器值。
爲簡潔起見,我從代碼示例中刪除了其他設置。
的app.config:
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="WorkstationApp.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
...
<userSettings>
<WorkstationApp.My.MySettings>
<setting name="Server" serializeAs="String">
<value>a14</value>
</setting>
</WorkstationApp.My.MySettings>
</userSettings>
Settings.Designer.vb:
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("a5")> _
Public Property Server() As String
Get
Return CType(Me("Server"),String)
End Get
Set
Me("Server") = value
End Set
End Property
應用代碼:(服務器被設置爲 「A10」 ,但我希望它具有「a14」的app.config值)。
Dim Server As String = My.Settings.Server
嘗試刪除項目的'Bin'和'Debug'文件夾?其中一個可能包含舊版本的'app.config'。 – groverboy
對不起,仍然回來了a10。好的建議,但。 –
我已經解決了這個問題,通過啓動應用程序,更改設置的值,然後使用my.settings.save來保存新值。我仍然想知道它在哪裏寫這些數據。 –