【问题标题】:Problems while reading value from app.config file从 app.config 文件中读取值时出现问题
【发布时间】:2011-11-17 07:06:19
【问题描述】:

我正在用 c# 制作一个 Windows 应用程序,在其中我添加了一个文件作为 app.config 文件。我在该文件中编写了一些代码

    <appSettings>
       <add key ="FlagForArchiving" value="true"/>
    </appSettings>

在“program.cs”文件中,我将此值读取为

ConfigurationSettings.AppSettings["FlagForArchiving"].ToString();

在本地机器上,我可以从配置文件中检索值,但是每当我构建该应用程序并在任何其他机器上运行时,我都无法从配置文件中读取值。我正在尝试在 Windows 7 上运行我的应用程序。请帮助我.提前致谢。

【问题讨论】:

  • 似乎是权限问题。但是你能提供完整的异常细节吗?
  • @Polity - 他没有通过手机应用程序说什么
  • @Polity:链接中的问题特定于 WP7 上的配置,但 OP 的操作系统是 Windows 7。因此不是重复的。
  • @Dany:OBViewer.exe.config 实际上是您构建的 app.config 文件。 OBViewer.vshost.exe.config是IDE创建的辅助调试的文件。
  • @Dany:这个类从 .Net 2.0 开始就存在,所以无论如何这可能不是问题。将项目中的引用添加到System.Configuration,然后尝试:System.Configuration.ConfigurationManager 类。您可能缺少源代码文件顶部的 using System.Configuration; 指令...

标签: c# windows-7 build app-config windows-applications


【解决方案1】:

app.config 在构建时重命名为 &lt;MyProgramName&gt;.exe.config。当您的程序运行时,它会查找 &lt;MyProgramName&gt;.exe.config 文件,而不是 app.config

您需要将重命名的文件 (&lt;MyProgramName&gt;.exe.config) 与您的程序一起部署。

在您的情况下,您需要复制 OBViewer.exeOBViewer.exe.config 以及 OBViewer.exe 依赖的任何其他文件(例如,您的调试/发布目录中的其他 .dll 程序集)。

顺便说一下,这个重命名的文件通常被称为“app.config”,即使它没有相同的文件名。

【讨论】:

    【解决方案2】:

    并且 app.config 文件存在于另一台机器上? 在阅读之前检查它是否存在

    你得到的异常说什么不正确:“FileNotFoundException”

    编辑 这是正确的方法!

    if (File.Exists(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile))
    {
        MessageBox.Show(ConfigurationSettings.AppSettings["FlagForArchiving"].ToString());
    }
    

    【讨论】:

    • -1 for App.Config 永远不会存在于机器上。它被称为&lt;ProgrammName&gt;.exe.config
    • 他将其命名为 app.config。这就是我使用这个字符串的原因。如果我使用其他任何东西,我只会让他感到困惑
    • @masterchris_99:这并不意味着你不能纠正他。相反,您给出了另一个不准确的陈述,实际上增加了混乱!
    • 可以使用消息框访问值吗?抱歉,我不知道他对价值做了什么。希望没有错!
    • 我不会这样做。我只是假设 app.config 文件存在,如果不存在就让它爆炸。该文件应始终存在...
    猜你喜欢
    • 2013-08-12
    • 2017-06-23
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2010-12-10
    • 1970-01-01
    相关资源
    最近更新 更多