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

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

   

在’program.cs’文件中,我正在读取此值

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

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

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

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

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

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

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

你得到的例外说不正确:“FileNotFoundException”

编辑这里是正确的方法!

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