2012-03-05 8 views
0

データベースを必要とするアプリケーションを作成しています。私はSQLiteのを使用していますし、それがうまくいっているように見えたが、ある日、私はエラーを得た:SQLiteとMSDEV 2010

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

私はこれを引き起こすためにやっていることを確認していません。私はこの問題を探し、以前の質問で解決策を見つけました。全文はあるものの、私の.configファイルに

<startup useLegacyV2RuntimeActivationPolicy="true">  
    <supportedRuntime version="v4.0"/> 
</startup> 

:異なる必要なランタイムはこれを

<startup useLegacyV2RuntimeActivationPolicy="true">  
    <supportedRuntime version="v4.0"/>  
    <requiredRuntime version="v4.0.20506"/> 
</startup> 

影響しない私は、行を追加していますか?

もう1つの解決策は、SQLiteアセンブリでcopy localをtrueに設定することでしたが、これは役に立ちませんでした。

誰でもアドバイスを提供できますか?

+0

可能な複製[corflags、System.Data.SQLite.dllとBadImageFormatException](http://stackoverflow.com/questions/4816529/corflags-system-data-sqlite-dll -and-badimageformatexception) –

+0

この質問はC++でタグ付けされていますが、.NETだけしか表示されません。 –

+0

質問は重複していないようです。もう1つは、このエラーを修正する方法ではなく、32ビットフラグが設定されていない理由を尋ねます。 C + +タグの良い点は、残念それはハビットの力だった! – Stefan

答えて

0

System.BadImageFormatException例外は、32ビット64ビットの事故に頻繁に接続されます。 おそらく、32ビットアプリケーションをターゲットにして、SQLiteの64ビット版またはその逆を参照しているとします。あなたの参照を見て、あなたのビルド構成で

+0

あなたが正しいと確信しています、これはここで非常によくある質問です。 –

+0

ビルド設定を64bitに設定し、SQLiteのパスは次のとおりです。C:\ Program Files(x86)\ SQLite.NET \ bin \ x64 \ System.Data.SQLite.DLLバージョン。私は誤解したことがありますか? – Stefan