5

我看过这个问题,我在网上找到了很多关于它的条目..但没有一个我能理解。也许你能帮忙?我有一个 dll 文件(从 ac 脚本创建),我使用 Visual C# 2010 为我的程序创建了一个 GUI。我已经在 5 台不同的计算机上测试了我的应用程序。在我的计算机和我创建应用程序的计算机上,用户界面和程序运行没有任何问题。但是,当我将它传递给其他计算机时,我在程序执行后收到以下错误行(这意味着用户界面打开,但是当我插入所有值并运行存储在 dll 文件中的代码时,我收到错误)“无法加载文件或程序集“ParsingDll.dll”或其依赖项之一。找不到指定的模块。

所有计算机都运行 microsoft windows 7 并且是 64 位的。dll文件“ParsingDll.dll”是包含我由GUI执行的代码的文件,它与可执行文件位于同一文件夹中。

如果有人能帮助我解决这个问题,我将不胜感激,并与我一起一步一步地进行,因为我对这些东西很陌生。

非常感谢大家。

4

3 回答 3

6

使用的程序集之一可能需要不可用的(本机)库。

您可以启用融合日志记录以准确找出导致问题的原因:

这会记录加载的内容,以及融合加载程序在哪里查找程序集,在注册表中打开融合日志记录:

将以下值添加到

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

添加:

 DWORD ForceLog set value to 1
 DWORD LogFailures set value to 1
 DWORD LogResourceBinds set value to 1
 String LogPath set value to folder for logs e.g. C:\FusionLog\

此文件夹必须存在,并以反斜杠结尾

(从How to enable assembly bind failure logging (Fusion) in .NET复制的说明)

于 2012-10-11T23:05:38.430 回答
0

导入dll,编译包括dll在内的所有项目。如有必要,刷新、重新启动、重新启动计算机。确保 DLL 存在于计算机上。重新启动,刷新,重新编译,清理应该修复它。

于 2012-10-11T23:06:59.443 回答
0

检查您的 ParsingDll.dll 是否被阻止。您可以通过查看 dll 文件的属性来检查。如果它被阻止,将有一个“取消阻止”按钮。

于 2012-10-11T23:07:41.053 回答