未能加载的文件或程序集.怎么解决

时间:2024-01-03 18:10:41 买帖  | 投诉/举报

篇首语:本文由小编为大家整理,主要介绍了未能加载的文件或程序集.怎么解决相关的知识,希望对你有一定的参考价值。

1
比如系统报错如下:【关键字解析错误:未能加载文件或程序集“ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=*******”或它的某一个依赖项。系统找不到指定的文件。】。
这种错误的出现是因为另一台计算机上面没有对应的DLL动态链接库文件,处理思路是把本机的链接库文件拷贝到对方的相应的位置,使程序在对方的电脑中运行时也能正确调用动态链接库文件,就不会再报错了。
END
1
拷贝原始DLL文件,
在原始编程电脑上找到目录,
C:\\Program Files\\Microsoft.NET\\Primary Interop Assemblies,拷贝目录里面的DLL文件。
2
在对方出现报错的电脑中找到对应的目录。
3
将缺少的DLL文件拷贝到对方电脑中。
4
就可以正常的调试程序了。
END
在原始编程电脑上找到目录
C:\\Program Files\\Microsoft.NET\\Primary Interop Assemblies,拷贝目录里面的DLL文件。
2
因为原始编程电脑为XP,目标电脑为WIN 7或其它系统,在对方的电脑中找不到这个相同的目录。
3
将缺少的DLL文件拷贝到EXE执行文件目录中。
4
就可以正常的调试程序了。
参考技术A 解决办法如下:

1、在项目的引用目录里添加,rebuild 运行项目。
2、如果1不能解决问题,那么可以选中项目project,点击鼠标右键,选择属性,在引用路径下,查看右侧的引用路径是否正确,如果不正确,remove掉,重新添加即可,rebuild 运行项目。
3、如果上述两个步骤还是没有解决问题,那么就需要注册一下程序集。
(1)、以管理员身份进入CMD命令提示框。
(2)、找到VS版本的注册程序集工具,如果Framework2.0默认安装的则是这个目录下:C:\Windows\Microsoft.NET\Framework\v2.0.50727,找到RegAsm工具。
(3)、将工具的路径输入CMD命令框 ,并且输入工具名称regasm,按空格,写上程序的dll路径。
(4)、rebuild项目。

程序集加载的问题?

这里用到了程序集!
objType = Assembly.Load(assemblyPath).CreateInstance(CacheKey);

下列信息有助于确定程序集“ScratchDataLayer”无法加载的原因。

=== 预绑定状态信息 ===
日志: 用户 = JCW-40372AADF0C\Administrator
日志: DisplayName = ScratchDataLayer
(Partial)
日志: Appbase = file:///G:/WebSite6/
日志: 初始 PrivatePath = G:\WebSite6\bin
调用程序集: ScratchBusinessLayer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null。
===
日志: 此绑定从 default 加载上下文开始。
日志: 正在使用应用程序配置文件: G:\WebSite6\web.config
日志: 使用 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config 的计算机配置文件。
日志: 此时没有为引用应用策略(私有、自定义、分部或基于位置的程序集绑定)。
日志: 试图下载新的 URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/website6/93d03113/81213eb6/ScratchDataLayer.DLL。
日志: 试图下载新的 URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/website6/93d03113/81213eb6/ScratchDataLayer/ScratchDataLayer.DLL。
日志: 试图下载新的 URL file:///G:/WebSite6/bin/ScratchDataLayer.DLL。
日志: 试图下载新的 URL file:///G:/WebSite6/bin/ScratchDataLayer/ScratchDataLayer.DLL。
日志: 试图下载新的 URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/website6/93d03113/81213eb6/ScratchDataLayer.EXE。
日志: 试图下载新的 URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/website6/93d03113/81213eb6/ScratchDataLayer/ScratchDataLayer.EXE。
日志: 试图下载新的 URL file:///G:/WebSite6/bin/ScratchDataLayer.EXE。
日志: 试图下载新的 URL file:///G:/WebSite6/bin/ScratchDataLayer/ScratchDataLayer.EXE。

这个程序集不知道为什么加载不了
ScratchDataLayer这个是命名空间,也是我的一个类库!
所以大家可以给我提个建议!
或者想法,到底子是什么样的原因导致了这种情况!

今天我也遇见这个问题,最终的解决方法如下:找到VS的缓存保存文件夹,将文件夹下面的东西全部删除掉,然后就不会出错了。C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\89ae99e4\e0eff96a\assembly\dl3 参考技术A 不是很了解具体原因 LZ可以改一下权限给该文件加个修改权限试试看!

以上是关于未能加载的文件或程序集.怎么解决的主要内容,如果未能解决你的问题,请参考以下文章