VB.Net 如何将 app.config 文件移动到自定义位置

Posted

技术标签:

【中文标题】VB.Net 如何将 app.config 文件移动到自定义位置【英文标题】:VB.Net How to move the app.config file to a custom location 【发布时间】:2012-01-07 07:07:35 【问题描述】:

我有一个应用程序,它的 app.exe.config 文件中有大量值。该应用程序由少数用户使用,并且设置会定期更改。所以我不得不更改配置文件,并将其发送给所有用户。

我很想将配置文件移动到网络某处,并将应用程序指向该文件。我试过用;

Imports System.Configuration.ConfigurationManager

OpenExeConfiguration("I:\app config\HelpDeskQuickCallLogger.exe.config")

但我无法让它读取值。

有人有什么想法吗?

【问题讨论】:

我从来没有遇到过这种事情——但这是个好问题。您可以使用其他一些流阅读器/文件阅读器方法来打开网络驱动器上的文件吗? 文档很清楚,该方法需要exe的路径。 每次我需要类似的东西时,我都会推出自己的配置文件。并且没有使用 app.config 文件。您在文件中存储什么类型的数据? 它是一个帮助台呼叫记录软件,该文件包含一个呼叫目录、工程师姓名、ldap 信息、smtp 信息的列表。可以改变的东西,我不想硬编码。我喜欢 app.config,因为它只是从中获取数据的一行。 @ek_ny 我想如果我不能移动配置文件,我将不得不走那条路。你能指出我开始的任何方向吗? 【参考方案1】:

如果指定了特定的配置文件(sSpecificConfigurationFile),这就是我们处理此要求的方式:

    Dim oConfig As System.Configuration.Configuration

    If sSpecificConfigurationFile.EndsWith(".config", StringComparison.InvariantCultureIgnoreCase) Then
        Dim oMap As New ExeConfigurationFileMap
        oMap.ExeConfigFilename = sSpecificConfigurationFile
        oConfig = ConfigurationManager.OpenMappedExeConfiguration(oMap, ConfigurationUserLevel.None)
    Else
        oConfig = ConfigurationManager.OpenExeConfiguration(sSpecificConfigurationFile)
    End If

【讨论】:

【参考方案2】:

我不确定这是否是您要查找的内容,但请查看此代码项目 Article 是否有帮助。

以上文章的描述:

本文演示了如何编写自定义设置提供程序以 允许您将 My.Settings 保存到您自己的存储系统中。

【讨论】:

以上是关于VB.Net 如何将 app.config 文件移动到自定义位置的主要内容,如果未能解决你的问题,请参考以下文章

在 VB.net 中,如何保存对 app.config 的更改

VB.NET 2003 将 log4net.config 复制到 bin 文件夹

从 VB.Net 中的 app.config 获取动态更新的连接字符串

VB.NET编好程序后一运行就提示生成错误,重装VB好几遍了还是不行

如何将管理员权限添加到 VB.net?访问被拒绝尝试用 VB.net 替换 Systems32\Hosts 文件

如何使用 vb.net 将 excel 文件导入 sql server