1

ライブラリから32ビットdllを生成し、C#のWindowsベースのフォームアプリケーションで使用しようとしています(デバッグ-x86)。参照として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 LocalDLL を使用しているプロジェクトの DLL 参照で値が True に設定されていますか? (VS のソリューション エクスプローラーで参照を右クリックし、プロパティを選択します)。そうでない場合、DLL はアプリの Bin\Debug フォルダーになく、見つかりません。

もう 1 つの可能性は、DLL 自体に見つからない依存関係があることです。DLL は .Net フレームワーク アセンブリ以外のものを参照していますか?

于 2012-10-17T22:54:25.767 に答える