2011-06-28 9 views
3

この問題を解明しようとしていた時間の後に、ここで質問を投稿することにしました。数日前、私はこの同じ質問をsqliteフォーラムに掲載しましたが、そのウェブサイトは現在利用できません。 http://sqlite.phxsoftware.com/forums/t/2669.aspx64ビットSQLite.dllと任意のCPU

ここに質問があります: 私は64ビットのOSを備えた64ビットのコンピュータを持っています。同僚には、32ビットOSの64ビットコンピュータがあります。私たちはサーバーから多くのデータを取得し、メモリのSQLiteデータベースに保存するWebアプリケーションを開発するので、すべてがより高速に実行できます。今は両方のマシンで32ビットのSQLite.dllを使用しています。しかし、私たちは64ビットのdllに切り替える(そして、使用できるデータの量を増やしたい)。私はhttp://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki からファイルをダウンロードしました:sqlite-dotnet-x64-1007300.exeと私のマシンにinstaled。私はSqlite.Interop.dllをbin \ Debugフォルダにコピーしている間に、System.Data.Sqlite.dllとSystem.Data.Sqlite.Linq.dllをlibフォルダに配置しました。 すべてのCPUを使用してアプリケーションをデバッグすると、マシン上ですべて正常に動作しますが、私の同僚にエラーが発生しています。

私は64ビットdllを使い、任意のCPUを使ってexeファイルを作成したいと思います。システムが32または64の場合は心配はありません。それを達成するために私がすべきことならば? ありがとうございます!

P.S.私たちはC#を使用しています - Visual Studio 2008 3.5 SP1

+0

こんにちは、私は同じ問題を抱えています。あなたはそれをどのように解決しますか? – CeccoCQ

答えて

3

32ビットと64ビットの両方のSQLite.dllを出荷し、ターゲットシステムのアーキテクチャに応じてどちらか一方をインストールする必要があると思います。

+0

こんにちはダニエル!助けてくれてありがとう。 – EsEs

0

残念ながら、それは不可能です。 SQLLite.dllにAny CPUバージョンはありません

SQLliteのバージョンに合わせてexeをビルドする必要があります。

+0

こんにちは!助けてくれてありがとう。 – EsEs

5

今日、もうこれ以上は必要ありません。

path_to_exe\System.Data.SQLite.dll 
path_to_exe\x64\SQLite.Interop.dll 
path_to_exe\x86\SQLite.Interop.dll 

をしてSystem.Data.SQLite.dllは、プラットフォームに応じて、正しいものを見つける:ちょうどあなたがこのように両方の相互運用機能のDLLをバンドルすることを確認してください。

0

nugetからインストールしてください。両方のビルドがインストールされ、別々のフォルダにコピーされ、ターゲットシステムに基づいて使用されます。ビルドモードを任意のCPUに設定するだけでいいですよ!
からhere

関連する問題