1

Xamarin の学習を始めたばかりで、PCL で標準の SQLite.Net を使用できないなど、多くの障害に遭遇しました。

成功せずに他の多くのソリューションを試した後、MvvmCross がこれまでのすべての問題を完全に解決したことがわかりました。

スチュアートを高く評価してください。本当に素晴らしい仕事です!

今、考えているのですが、ASP.Net Web プロジェクトも必要な場合はどうすればよいでしょうか? 「コア」プロジェクト (すべてのプラットフォームで共有されるプロジェクト) を引き続き再利用できますか?

HTML UI の場合、ViewModel はサーバー上にあり、UI はクライアント上にあるため、UI 要素を ViewModel にバインドできないことはわかっています (実際、現在の Web プロジェクトでは、ViewModel を JSON シリアル化して送信します)。それをクライアントに送信し、Knockout.js を使用してバインディングを行います)。

ただし、Web プロジェクト用に ViewModel のロジックを書き直す必要がある場合でも、「コア」プロジェクトを再利用することは非常に有益です。

そこで、ASP.Net MVC プロジェクトを作成し、MvvmCross と MvvmCross Sqlite プラグインを使用する「Core」プロジェクトを参照してみました。

そして、nuget を使用して Web プロジェクトで MvvmCross への参照を取得すると、取得する "MvvmCross のプラットフォーム固有のバージョン" は WPF バージョンです (どちらも .Net Framework を使用しているためだと思います)。WPF が必要とする他の dll を参照する必要があるだけなので、これは問題にはなりません。

しかし、本当の問題は、Web プロジェクトを実行するとエラーが発生することです。

DLL 'sqlite3' をロードできません: 指定されたモジュールが見つかりませんでした。

Google の検索結果に基づいて、「System.Data.SQLite.dll」というファイルの名前を「sqlite3.dll」に変更すると、別のエラーが発生します。

ファイルまたはアセンブリ 'sqlite3' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)

それから私は立ち往生しました。それで、私は何かが欠けているのでしょうか、それとも単にうまくいかないのでしょうか?

ところで、WPF UI プロジェクトも作成しましたが、最初のエラーも発生しましたが、ファイル「System.Data.SQLite.dll」の名前を「sqlite3.dll」に変更した後、すべて正常に動作し、 2 番目のエラー。そして、Nuget から取得した「System.Data.SQLite.dll」は x86 バージョンです。

ありがとう

4

1 に答える 1

2

http://www.sqlite.org/download.htmlで Windows 用の公式の sqlite3.dll をダウンロードできるはずです- ある開発者がこれについてhttps://github.com/slodge/MvvmCross/wiki/Sqliteで書いています -プラグイン

サーバー側の Web アプリ内でモバイル アプリからサービスを再利用するという考えでは、Mvvmcross 自体はこの領域に取り組んでいません。基本的に、ほとんどの Web アプリではライフサイクルとユーザー フロー (単一と複数) が違いすぎます。一部の「ビジネス ロジック」および「モデル」コードは Web サイト全体で再利用できますが、他の多くの Web サイト コードは、nancy、fubumvc、シンプルな Web などのフレームワークを中心に構築する方が適切な場合があります。

于 2013-09-14T11:08:41.537 に答える