0

嘿,我正在使用ExeConfigurationFileMap类的OpenMappedExeConfiguration方法打开配置文件。配置文件由同一目录中的两个程序使用。

在我的开发机器上一切正常,但是当我将程序复制到另一台机器时,在执行程序时出现此错误

Code not find a part of the path D:\email\email.config

其他程序可以轻松访问 email.config 文件。一切都是一个目录,但另一个程序指向我的开发机器中的旧路径:(

这是引发异常的代码的一部分

class Program
    {
        static readonly string configFileName = "email.config";

        static int Main(string[] args)
        {
            try
            {
                var configMap = new ExeConfigurationFileMap { ExeConfigFilename = configFileName };
                Configuration externalConfig = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return 1;
            }
        }
    }
4

1 回答 1

4

您是否尝试过在您的项目(包括配置文件)中搜索该路径?它肯定会写在某个地方,你只需要找到它......

编辑:我明白你的问题是什么,我只是说 D:\email你的程序正在搜索的路径来自你的代码配置文件中的某个地方。只需尝试在您的项目中搜索“D:”;使用find in filesVisual Studio 中的命令 (ctrl + shift + f) 并确保*.*在“查看此文件类型”框中指定。

第二次编辑

不,我没有在我的代码和配置文件中的任何地方指定路径。

如果您尝试按照我的建议搜索路径(如果您还没有这样做,请这样做)然后检查目标机器上的配置文件。该路径写在某个地方,您必须找出在哪里,为此您必须使用某种工具(甚至 Windows 的文件搜索也应该这样做)。

于 2009-07-20T07:26:02.673 回答