【发布时间】:2011-06-04 18:08:34
【问题描述】:
环境:.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