1

プラットフォームビルダーで新しいdllを作成し、このdllをアプリで使用しようとしています。アプリでこのdllを使用していると、エラーが発生します。PInvokeDLL'HardwareAbstractionLayer.dll'が見つかりません。

このエラーの意味と、問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

このエラーが意味することは非常に簡単です。それをロードするために必要な DLL がシステム上に見つからないということです。そのため、エクスプローラーでファイルをチェックして、ファイルがデバイス上で実際に利用可能であることを確認してください。

ファイルがイメージに焼き付けられ、実際に好きな場所 (正しいフォルダー) にある場合は、アプリケーションが DLL の正しい場所を本当に検索することを確認する必要があります。独自の作業ディレクトリのみを検索しますか、それとも windows フォルダーのみを検索しますか?

アプリケーションでファイルを使用できるようにするには、DLL を参照しない別の小さなユーティリティ プログラムを作成します。代わりに、何らかのDirectory.GetFiles()呼び出しを使用して、アプリケーションからもファイルに到達できるようにします。

これらすべてがチェックされている場合、DLL が間違ったプラットフォーム用にコンパイルされている可能性がありますか? 正しい cpu タイプに設定されていることを確認し、DLL 自体に依存関係があるかどうか、およびこれらがすべてターゲットで利用可能であることも確認してください。

于 2012-04-11T13:03:54.180 に答える