为什么我的应用程序设置会检索与我期望的值不同的值?

时间:2016-12-15 05:26:33

标签: app-config configurationmanager

我继承了一个使用配置管理器类来存储和检索设置的应用程序。在app.config类中有自定义节组" userSettings"其中包括" Server"属性。

在app.config文件中,此值定义为" a14"。在Settings.Designer.vb中,默认值指定为" a5"然而,当我尝试访问My.Settings.Server时,它会返回值" 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

应用程序代码:(服务器设置为&#34; a10&#34;,但我希望它的app.config值为&#34; a14&#34;)。

Dim Server As String = My.Settings.Server

1 个答案:

答案 0 :(得分:1)

看起来我期待错误的事(好吧)。我将这些设置设置为用户设置,这些设置存储在/ appdata /文件夹中,并且与app.config文件完全无关。

用户配置文件已使用初始值设置,之后从未使用My.Settings.Save进行过修改。此答案中的更多详细信息:Where are My.Settings saved in VB 2010 .NET?