1

我刚刚从一个库中生成了一个 32 位 dll,并试图在 C#(调试 - x86)中将它与我的基于 Windows 的表单应用程序一起使用。我添加了 dll 文件作为参考,现在当我运行代码时出现以下错误

System.IO.FileNotFoundException was unhandled
  Message=Could not load file or assembly 'org.apache.qpid.messaging.dll' or one of its dependencies. The specified module could not be found.
  Source=QpidRx_CSharp
  FileName=org.apache.qpid.messaging.dll
  FusionLog=""
  StackTrace:
       at QpidRx_CSharp.Program.Main()
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 

关于如何解决此问题的任何建议?

4

2 回答 2

1

查看带有(免费且出色的) “DependencyWalker”的 dll以查看缺少的内容(因为错误似乎表明这是这里的确切问题:您没有满足所有需要的依赖项)。

于 2012-10-17T22:43:19.710 回答
1

Copy Local使用 DLL 的项目的 DLL 引用上的值是否设置为 True?(右键单击 VS 解决方案资源管理器中的引用,然后选择属性)。如果没有,则该 DLL 将不在应用程序的 Bin\Debug 文件夹中,也不会被找到。

另一种可能性是您的 DLL 本身具有无法找到的依赖项。您的 DLL 是否引用了 .Net 框架程序集以外的任何内容?

于 2012-10-17T22:54:25.767 回答