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

问题描述 投票:0回答:4

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

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

app.config
文件中。

appSettings
部分我放置了主程序变量。例如

<appSettings> 
    <add key="LocalServerName" value="PHILDESKTOP" />

我为可选的创建了一个

ClientParameters
部分。例如

<ClientParameters>  
    <Cust1>  
        <setting name="ClientName"   serializeAs="String">  
            <value>Customer Name 1</value>  
        </setting>

这是我的问题:

  • 我使用 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
    

所以我想做的就是将

app.config
的客户端部分分开并制作类似
client.config
的东西。

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

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

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

vb.net configuration-files
4个回答
4
投票

可以只使用内置设置吗? 这是教程。任何范围为用户的设置都可以使用

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

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

    'Load value
    Dim F = My.Settings.FirstName

    'Persist values
    My.Settings.Save()

2
投票

这是一个 XY 问题。您正在寻求 Y 的解决方案,而“真正”的问题是 X。AppSettings 应该“易于”阅读。当您发现自己处于突然不再易于阅读的情况时,那么 AppSetting 对您来说就没用了。 不太确定更好的解决方案是什么,您的问题中没有很好的提示。在我看来,ClickOnce 是给你带来麻烦的原因。 W问题。

注意到@Chris Haas 的回答中的链接已损坏。但我没有足够的声誉来评论他的帖子(rip),所以我将添加这个答案以帮助以后可能需要这个答案的人。


0
投票
Microsoft 教程 - 访问应用程序设置 (Visual Basic)

。这应该可以更好地概述应用程序设置以及如何访问和使用它们。

我写了一篇关于阅读自定义配置部分的博客文章,它允许您编写全面的自定义 app.config 部分并从代码中访问它。这个过程并不是我所谓的直观过程,但我详细介绍了它。一旦您设置了用于读取自定义部分的类模型,那么引用属性就很容易了。


-1
投票
http://www.endswithsaurus.com/search/label/app.config

© www.soinside.com 2019 - 2024. All rights reserved.