2011-07-14 7 views
1

私は開発マシンのウィンドウにIE用のAd-dinsを作成します。xp 32ビット このad-dinsはうまく動作し、system.dataを読み込みます.sqlite.dllをwindos 7 32ビットで動作させるだけでなく、Windows 7でもうまく動作します。32ビットブラウザでは64ビットですが、問題はWindows 7で64ビットエラーです。エラーWindows上でsystem.data.sqlite.dllを読み込む64ビットのIE 64ビットを追加する

issuses ....... ..........................

System.BadImageFormatException: 
Could not load file or assembly 'System.Data.SQLite, Version=1.0.65.0, Culture=neutral, 
PublicKeyToken=db937bc2d44ff139' or one of its dependencies. An attempt was made to load a program with an incorrect format. 
File name: 'System.Data.SQLite, 
Version=1.0.65.0, 
Culture=neutral, 
PublicKeyToken=db937bc2d44ff139' 

................. ...........................................

展開オプション 組み込みの.netアドイン中にターゲットX86を選択した場合、Windows 7で64ビットのIE 64ビットを読み込めませんでした。 ビルドオプション "任意のCPU" addinsがロードされていますが、上記のエラーが発生しました どうすればよいですか?

答えて

3

32ビットコードを64ビットプロセスで実行することはできません。

すべてのCPUプラットフォーム設定は、32ビットプロセスと64ビットプロセスの両方で使用するようにコードをコンパイルします。ただし、コードは32ビットコードとしてコンパイルされた外部DLL、System.Data.SQLiteを参照します。それが失敗の原因です。

System.Data.SQLiteの32ビット版と64ビット版の両方をダウンロードします。 x86x64の2つのプラットフォーム構成を作成します。 x86には、すべての32ビットバージョンの外部ライブラリが含まれています。 x64には、64ビット版の外部ライブラリがすべて含まれています。

+0

私はsystem.data.sqlite.dllソースコードを取得し、私たちの開発システムでprojecでrefrenceを取得するように開発システムでコンパイルしました。しかし、sme errorSystem.BadImageFormatExceptionを取得してください: ファイルまたはアセンブリ 'System.Data .SQLite、Version = 1.0.65.0、Culture = neutral、 PublicKeyToken = db937bc2d44ff139 'またはその依存関係の1つ。不正な形式のプログラムをロードしようとしました。 ファイル名:「System.Data.SQLite、 バージョン= 1.0.65.0、 文化=中立、 なPublicKeyToken = db937bc2d44ff139」 –

+0

私はsystem.data.sqlite.dllのソースコードを取得し、任意のCPUは、その後に参照を取得としてコンパイルsystem.data.sqlite.dllの同じ種類のエラーが発生しました 'code' System.BadImageFormatException: ファイルまたはアセンブリを読み込めませんでした 'System.Data.SQLite、Version = 1.0.65.0、Culture = neutral、 PublicKeyToken = db937bc2d44ff139 'またはその依存関係の1つ。不正な形式のプログラムをロードしようとしました。 ファイル名: 'System.Data.SQLite、 バージョン= 1.0.65.0、 文化=ニュートラル、 PublicKeyToken = db937bc2d44ff139' –

+0

SQLiteはどのDLLに依存していますか?そのうちの1つは32ビットですか? C + +やC#でSQLiteコードですか? C++コードは、C#コードとは異なり、任意のCPU用にコンパイルできません。 Configuration Manager(ビルドメニュー)を使用して、SQLiteが実際にコンパイルされているプラ​​ットフォームを確認(および設定)します。 –

関連する問題