VB.Net 如何读/写自定义配置文件

1 vb.net configuration-files

环境:.Net 3.5 VB.net(C#也可以)

我编写了一个多项目 WinForms 应用程序,需要根据用户选择的客户端从配置文件的客户端部分加载几十个变量。还需要加载一些程序变量。到目前为止一切顺利,我把它们放在一个app.config文件中。

在本appSettings节中,我放置了主程序变量。例如

<appSettings> 
    <add key="LocalServerName" value="PHILDESKTOP" />
Run Code Online (Sandbox Code Playgroud)

ClientParameters为可选择的部分创建了一个部分。例如

<ClientParameters>  
    <Cust1>  
        <setting name="ClientName"   serializeAs="String">  
            <value>Customer Name 1</value>  
        </setting>
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  • 我使用 Click Once 进行部署,但app.exe.config很难找到该文件进行更改

  • 我发现该app.config文件出于充分的原因不可写......它在程序启动期间加载到内存中。

  • 我发现我需要管理员才能在部署后添加/更新客户端部分参数。我想用某种ListView东西来编程这种能力。

  • 我认为我编写了糟糕的代码,必须迭代才能找到设置,请参见下文

      Dim sectionName As String
      sectionName = "ClientParameters/" + ClientCode
      Dim section As System.Configuration.ClientSettingsSection = _
         DirectCast(System.Configuration.ConfigurationManager.GetSection(sectionName),  _
         System.Configuration.ClientSettingsSection)
      For Each setting As System.Configuration.SettingElement In section.Settings
          Dim value As String = setting.Value.ValueXml.InnerText
          Dim name As String = setting.Name
          If name.ToLower = SettingName.ToLower Then
              Return value
          End If
      Next
    
    Run Code Online (Sandbox Code Playgroud)

所以我想做的就是分离出客户端部分app.config并制作类似的东西client.config

我需要一些很好的示例 XML 读/写代码:

  • 加载 client.config 文件
  • 选择特定的客户部分
  • 从该部分中的值加载我的客户端变量

有人有一些好的链接或建议吗?

Chr*_*aas 5

可以只使用内置设置吗?这是一个教程。任何范围为用户的设置都可以使用My.Settings“命名空间”进行编辑。无需读/写 XML,一切都是强类型的。任何范围为应用程序的内容基本上都是只读值。

    'Set value
    My.Settings.FirstName = "Chris"

    'Load value
    Dim F = My.Settings.FirstName

    'Persist values
    My.Settings.Save()
Run Code Online (Sandbox Code Playgroud)