この属性を使用し[DllImport]
てネイティブ DLL をアプリケーションにインポートしていますが、ロードしている DLL がローカルの bin フォルダーにありません。システムの別の場所からロードされていますが、どこにあるのかわかりません。
私の開発マシンでは動作しますが、クリーンなマシンでは動作しません。
Fusion ログを有効にしましたが、管理されたアセンブリのみが表示されます。
Sysinternals Process Explorer を使用してプロセスをダンプしましたが、プロセスが含まれているとC:\Windows\System32
表示されますが、Windows エクスプローラーでファイルが表示されません。
私は64ビットのWindows 7を実行していますが、DLLはx86のみをサポートしているため、アプリを強制的にx86にする必要があったことに注意してください。x86 ファイルのロード元を変更する何らかのリダイレクトはありますか?
DllImport は、Silicon Labs のカスタム USB ドライバーです。[DllImport("SiUSBXp.dll")]
また、コマンド プロンプトを使用しdir si*
て System32 フォルダーで実行しましたが、ファイルがありません。