0

sqlite 1.0.80.0(sqlite-netFx40-setup-bundle-x86-2010-1.0.80.0.exe)に奇妙な問題があります。

まず、Visual Studio2010SP1にsqlite1.0.66をインストールしました。それをアンインストールして、最新バージョンのsystem.data.sqlite(1.0.80.0)をインストールしました。インストールはエラーではなくうまくいきました。プロジェクト(コンソールアプリケーション)を作成し、Entity Frameworkオブジェクト(.edmx)ファイルを作成しました。sqliteファイルを簡単に接続し、sqliteデータベースからモデルを生成できます。

データベースから何かを取得するための単純なLINQ要求を含むアプリケーションを実行しようとすると、問題が発生します。次のエラーが発生します。

System.Security.VerificationException:操作によってランタイムが不安定になる可能性があります。

私は問題を解決できるかどうかを確認するために無数のことを試みます。しかし、これまでのところ解決策はありません。SQL Server 2008を使用しようとしましたが、正常に動作します。それで、system.data.sqliteに何か問題がありますか、それとも私は何か間違ったことをしていますか?

すべてを試すために、私はsqlite1.0.66をVisualStudio 2010 SP1にインストールし直しましたが、同じプロジェクトで動作します。

誰かがその理由を知っていますか?

4

1 に答える 1

0

多分それはバンドルパッケージの使用と関係があります。私はちょうど私にとって正しいパッケージ/ディストリビューションが何であるかについていくつかの調査を行い、この記事を読みました。

「すべての「バンドル」パッケージには、「System.Data.SQLite.dll」混合モードアセンブリが含まれています。これらのパッケージは、何らかの理由でアセンブリバイナリをグローバルアセンブリキャッシュに展開する必要がある場合にのみ使用する必要があります(サポートなど)。顧客のマシン上のいくつかのレガシーアプリケーション)。」

さらに遠く...

「グローバルアセンブリキャッシュを(まったく)使用することはお勧めしません。したがって、絶対に必要であると見なされない限り、「バンドル」パッケージは避ける必要があります。」

したがって、XCOPYの展開をネイティブライブラリのプリロード機能と組み合わせて実行しても、問題はありません。

于 2012-12-07T09:02:30.073 に答える