5

私はこの問題を見て、それについてネット上で多くのエントリを見つけました..しかし、私が理解できるものはありませんでした. 多分あなたは助けることができますか?dll ファイル (ac スクリプトから作成) があり、プログラム用にビジュアル C# 2010 を使用して GUI を作成しました。5 台の異なるコンピューターでアプリケーションをテストしました。私のコンピューターとアプリケーションを作成したコンピューターでは、ユーザー インターフェイスとプログラムは問題なく動作します。ただし、それを他のコンピューターに渡すと、プログラムの実行後に次のエラー行が表示されます (つまり、ユーザー インターフェイスが開きますが、すべての値を挿入して dll ファイルに保存されているコードを実行すると、エラーが表示されます)」ファイルまたはアセンブリ "ParsingDll.dll" またはその依存関係の 1 つを読み込めませんでした。指定されたモジュールが見つかりませんでした。

すべてのコンピューターは Microsoft Windows 7 を実行し、64 ビットです。dll ファイル "ParsingDll.dll" は、GUI によって実行されるコードを含むファイルで、実行可能ファイルと同じフォルダーにあります。

誰かがこれを手伝ってくれて、この種のものに慣れていないので、私と一緒に一歩一歩進んでくれたら幸いです。

皆様、どうもありがとうございました。

4

3 に答える 3

6

使用されているアセンブリの 1 つに、利用できない (ネイティブ) ライブラリが必要な場合があります。

Fusion Logging を有効にして、問題の原因を正確に突き止めることができます。

これにより、ロードされる内容と、フュージョン ローダーがアセンブリを検索する場所がログに記録されます。レジストリでフュージョン ログをオンにします。

次の値を追加します

 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\

このフォルダは存在し、バックスラッシュで終わる必要があります

( .NET でアセンブリ バインド エラー ログ (Fusion) を有効にする方法からコピーされた手順)

于 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 に答える