2

単体テストに SQLite を使用しており、ローカル開発/ステージング用のデータベースとして使用する可能性があります。

System.Data.SQLite には、基本的に x86 と x64 の 2 つのバージョンがあります。特定のプラットフォームには正しいものを使用する必要があります。

私は 64 ビットの Win7 を使用していますが、チームの他のメンバーは 32 ビットの OS を使用している可能性があります。この段階では、サーバーのプラットフォームは不明です。

64 ビット プラットフォームで 32 ビット バージョンのアセンブリを使用すると、BadImageFormatException: Could not load file or assembly 'System.Data.SQLite'. 32 ビット プラットフォームで 64 ビット アセンブリを使用しようとすると、同様のことが起こると思います。

だから私の質問は、プラットフォームに依存せず、人々がそれを使用できるように、SQLiteアセンブリを参照する最良の方法は何ですか?

64 ビット プラットフォームで 32 ビット バージョンのアセンブリを使用しても問題ありません (そのためのスイッチがどこかにあるのではないでしょうか?)。

4

1 に答える 1

0

GAC にインストールされている場合は、アセンブリを参照するだけで、システムが正しいアセンブリを選択します。

それ以外の場合は、「手動で」正しいバージョンを参照していることを確認する必要があります (過去に、ビルド時に正しいバージョンを「デプロイ」フォルダーにコピーするビルド システムを使用しました。最近では、私が行うことはすべて 64- です。程度なので、大したことではありません)。

または、アプリケーションを x86 としてビルドし、32 ビット バージョンのみを使用することもできます。プロジェクトのプロパティの [ビルド] タブで、[プラットフォーム ターゲット] を [x86] に設定します。実行可能ファイルでのみこれを行う必要があります。DLL は引き続き AnyCPU にすることができます。

于 2010-04-29T00:47:08.853 に答える