Could not load file or assembly ‘xxx’ or one of its dependencies. The system cannot find the file specified.
中文的意思是:无法加载文件或程序集’xxx’或它的某个依赖项。系统无法找到指定的文件
提示某个DLL文件找不到或者它的某个依赖项找不到。
这个问题发生在,我在利用反射,获取其它程序集对象
如:Assembly.Load(AssemblyPath).CreateInstance(ClassNamespace);
遇见这个问题,相信大家在网上查过许多方法,我认为提示的这个错误是一个”多面手” — 什么样的错误都有可能指向这个提示。我是这样理解的,大家仁者见仁,智者见智吧。
这里提供的是,遇见这个错误处理的方式:
1. 清除系统的缓存文件:
有这两种方式,可以分别单独尝试, 清理文件夹里的缓存
/用户/用户名称/AppData/Local/Temp/Temporary ASP.NET Files里面的文件
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 目录下的文件,重新Build项
2. 如果项目包含 web.config, 请检查 <assemblies> <assemblyBinding>
节点,是否存在程序集版本的问题
3. 检查你的项目文件,是否存在某个程序集没有被引用的问题,比如:你的web project 可能需要引用其它项目的程序集(当前出错的程序集是否被引用)
上述三点应该可以解决我们普遍遇到的这类问题,祝同学们好运