2017-01-10 11 views
3

私は現在SQLiteとエンティティプロバイダを使用してデスクトップアプリケーション(IISまたはそれに類するもの、.NET 4.5.2でホストされているものは何もありません) SQLite。これをVisual Studioで動作させるには、SQLiteサイトの1.0.65.0バージョンパッケージをインストールして、Visual Studio内でSQLiteEF6プロバイダを取得する必要がありました。これは私が理解する限り予想される広告として機能しましたが、これもこれを実行できる唯一の方法です。デスクトップアプリケーション+ SQLite - バージョン= 1.0.65.0対バージョン1.0.104.0

私のアプリケーションでは、1.0.104.0の現在のバージョン(sqliteページの情報)を使用したいと思います。私は正常にこのバージョンのNugetパッケージを自分のアプリケーションに追加しました。参照タブを見ると、System.Data.SQLite,System.Data.SQLite.EF6System.Data.SQLite.Linqがあり、バージョン1.0.104.0と特定バージョンはすべてTrueに設定されています。 3つすべてのローカルに対して「ローカルコピー」がtrueに設定されています。だから、

今、私は自分のアプリケーションを実行し、行を取得する場合:

using (var ctx = new SmtAoiLookupEntities()) 
{ 
    foreach (var lu in ctx.Lookups.Where(d=>!string.IsNullOrEmpty(d.Aoi))) 
    { 
     ... 
    } 
} 

私は、次のエラーメッセージが出ます:

タイプの例外が「System.IO.FileLoadException」で発生しましたmscorlib.dllとマネージ/ネイティブ境界の前に処理されませんでした

追加情報:ファイルまたはアセンブリを読み込めませんでした 'System.Data.SQLite、Version = 1.0.65.0、Culture = neutral、PublicKeyToken = db937bc2d44ff139'またはその依存関係の1つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)。このことから

、私はすべての参照が1.0.104.0を指すが、私のアプリケーションは、バージョン1.0.65.0をロードしようとすることを理解しています。私のアプリケーションがどこに1.0.65.0をロードしたいというアイデアを得るのか全く分かりません。私はファイル内に "1.0.65"への参照をキャッチするための検索をしましたが、結果は全くありません。

私はGACに格納されているアセンブリを参照する

gacutil -l System.Data.SQLite 

を使用 - >バージョン1.0.104.0今

、これは私は、Visual Studio内からアプリケーションを実行するときにのみ発生するように見えます。実行可能ファイルとしてVisual Studioの外でアプリケーションを実行すると、コンテキストを保存するときに別のエラーが発生します。これはアプリケーションエラーであり、アセンブリバージョンの問題とは関係していないようです。私もアプリケーションを32ビットアプリケーションに設定しようとしましたが、問題は同じです。

主な問題:私はVisual Studio内でアプリケーションをデバッグできるようにしたいと考えています。そうしないと、非常に扱いにくくなる可能性があります。 Visual Studioに1.0.65.0のライブラリをロードしないように指示する方法はありますか?

+0

解決策をクリーニングし、手動で 'bin'と' obj'フォルダを削除してみてください。 –

+0

私はそれを何度もやりましたが、それは事を変えませんでした。そして私が言ったように、アプリケーションはVisual Studioの外で動作するように見えます。 –

答えて

1

解決策のプロジェクトは以前のSQLiteバージョンを指しています。私の場合は、ファイルがエラーをスローしていたプロジェクトでした。ソリューションのすべてのプロジェクトに最新のパッケージバージョンがあることを確認して、私の問題を解決しました。

+0

残念ながら、それはソリューション内の単一のプロジェクトです。他のプロジェクトへの依存性はまったくありません。今のところ、私はよりサポートされ、SQLiteから離れているものに切り替えることにしました。とにかく要件が変更されたので、これは難しい決定ではありませんでした。 –

関連する問題