嘿我正在使用 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;
}
}
}
答案 0 :(得分:4)
您是否尝试搜索该路径的项目(包括配置文件)?它肯定会写在某个地方,你只需要找到它......
编辑:我明白你的问题是什么,我只是说了
您的程序正在搜索的D:\email
路径来自您的配置文件中代码或中的某个位置。试着在你的项目中搜索“D:”;在Visual Studio中使用find in files
命令(ctrl + shift + f)并确保在“查看此文件类型”框中指定*.*
。
第二次编辑:
不,我没有在我的代码和配置文件中的任何地方指定路径。
如果您尝试按照我的建议搜索路径(如果尚未执行此操作,请执行此操作),然后检查目标计算机上的配置文件。那个路径写在某个地方,你必须找到哪里,为此你必须使用某种工具(甚至Windows的文件搜索都应该这样做)。