2012-01-22 11 views
0

この問題について多くの質問がありましたが、回答が見つかりませんでした。私はむしろ奇妙な問題があります。 System.Data.SQLiteの32ビットリファレンスを自分のプロジェクトに追加すると、それはx86プラットフォームでのみ動作し、私のアプリケーションは32ビットWindows上でのみ動作するので、それはうまくいくはずです。しかし、私が32ビットWindows上でアプリケーションを実行しようとすると、例外Could not load file or assembly 'System.Data.SQLite'がスローされます。その後、私はSystem.Data.SQLite dllの64ビット版をダウンロードしました。その後、私は任意のCPUターゲットプラットフォームでデバッグを開始することができましたが、同じエラーのある32ビットXPでアプリケーションを実行できませんでした。Could not load file or assembly 'System.Data.SQLite'x86とx64 System.Data.SQLiteの問題

私は少し狂っています。私はそれが関連性はわかりませんが、私は何も見ていないが、私のアプリのターゲットフレームワークは.NET 4.0であり、私はSystem.Data.SQLite(.NET 2.0、.NET 3.5、.NET 4.0)の32ビットと64ビットバージョン、何も役立ちません。以下は私の設定ファイルの様子です:

<system.data> 
    <DbProviderFactories> 
     <remove invariant="System.Data.SQLite"/> 
     <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/> 
    </DbProviderFactories> 
    </system.data> 

    <connectionStrings> 
    <add name="VetStationConnection" connectionString="Data Source=VeterinaryStation.s3db" providerName="System.Data.SQLite.SQLiteFactory"/> 
    </connectionStrings> 

答えて

2

解決策が見つかりました。実際に私は間違った場所を見つけました。私は静的にリンクされていないバイナリをダウンロードし、Visual C++ランタイムが必要でした。これは、Visual C++ランタイムをインストールするか、静的にリンクされたsystem.data.sqliteを静的にリンクしたバイナリをダウンロードすることです:D

+0

これを投稿していただきありがとうございます。 – Rob

関連する問題