0

すべてのビジネスロジックコードを、Androidアプリ、iOSアプリ、Winformsアプリの3つのアプリケーションで共有しようとしています。これら3つのアプリケーションはすべて、ローカルのSqliteデータベースにアクセスする必要があります。これを実現するには、3つすべてにMono.Data.Sqliteを使用できると思いました。

そこで、Androidクラスライブラリと通常の.NETクラスライブラリをセットアップし、プロジェクトをリンクしました。これは、Sqliteコードを除くすべてで正常に機能します。単にMono.Data.Sqlite.dllを参照して、Winformsアプリケーションで機能させることはできませんか?私がそうしても、それでも次のエラーは修正されません。

タイプまたは名前空間の名前'SqliteConnection'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

タイプまたは名前空間の名前'SqliteDataReader'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

さて、Mono Sqlite DLLへの参照を追加することでその問題は解決したと思いますが、明らかにそうではありません。Mono名前空間自体も見つかりません。

AndroidではなくWindows用に特別にコンパイルされたMono.Data.SqliteDLLが必要になるかもしれないと思っています。これは正しいです?もしそうなら、どこかにプリコンパイルされたバイナリを見つけることができますか(予備検索は何も役に立ちませんでした)。

または、WinformsアプリでSystem.Data.SQLiteを使用するようにSQLiteコードのラッパーを作成する必要がありますか(メソッドが異なるため、これは避けたいと思っています)?MonoTouchにデプロイするときに同じことをする必要がありますか?これは、ほとんどすべてのMonoフレームワークに当てはまりますか?

私は、Monoとのコードベース共有と、それが複数のプラットフォームにどのように適用されるかについて頭を悩ませようとしています。これが私の最初の大きなハードルです。私の目標は、基本的にすべてのロジックに対して1つのコードベースを用意し、プラットフォームごとにネイティブUIコードを作成することです。

ありがとう!

4

1 に答える 1