从app.config文件读取值时出现问题

本文关键字:问题 读取 app config 文件 | 更新日期: 2023-09-27 18:15:01

我在c#中添加了一个windows应用程序作为app.config文件。我在该文件中写了一些代码

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

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

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

在本地机器上,我可以从配置文件中检索值,但每当我构建该应用程序并在任何其他机器上运行时,我就无法从配置文件中读取值。我试图在windows 7上运行我的应用程序。请帮帮我。

从app.config文件读取值时出现问题

app.config在构建时被重命名为<MyProgramName>.exe.config。当您的程序运行时,它将查找<MyProgramName>.exe.config文件,而不是app.config

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

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

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

app.config文件存在于另一台机器上?读取前检查是否存在

你得到的异常说什么是不正确的:"FileNotFoundException"

编辑下面是正确的方法!

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