C#VS2005:可能是损坏的DLL

时间:2010-08-26 21:31:20

标签: c# dll

当我运行引用特定DLL的exe时,我收到以下错误。

无法加载文件或程序集“XYZ.ABC.DEF,Version = 1.0.3801.24033,Culture = neutral,PublicKeyToken = null”或其依赖项之一。访问被拒绝。

上述错误可能是由于XYZ.ABC.DEF.DLL损坏了吗? DLL导致此错误可能有什么问题。我们只是试图在这个DLL上使用Reflector工具,我们无法反映它。

请帮忙。

2 个答案:

答案 0 :(得分:2)

发生这种情况的最可能原因是程序集或其中一个依赖项具有阻止当前进程访问该文件的权限。如果它已损坏,您可能会看到BadImageFormatException或类似错误消息。拒绝访问错误是链中某处的权限问题的结果。

下一步是简单地尝试使用相同的凭据打开DLL,看看会发生什么。或者使用fuslogvw跟踪加载失败并确切地找出哪个DLL出现问题。

答案 1 :(得分:1)

“访问被拒绝”通常意味着您无权读取文件。如果dll位于受保护的系统位置,则可能会发生这种情况(例如,即使您是管理员,您也可以对其他用户的帐户文件夹中的文件进行“拒绝访问”)

确保您拥有管理员权限,并尝试将dll 的依赖项复制到您具有完全访问权限的文件夹中。