私はXamarinユーザーが使用できる.NETのPostgreSQLプロバイダであるNpgsqlを作成しようとしています。私はこれを行うためのさまざまな方法を模索し、ブロックされているようです。Xamarinプロジェクトのパッケージを使用しています
最初に、Xamarinプロジェクトは特定のPCLプロファイルを対象とするパッケージを使用できます。問題は、これらのPCLプロファイルのどれも、Xamarin itself allows you to use System.DataであってもNpgsqlが必要とするSystem.Dataを含んでいないことです。
第二には、Npgsqlのは、すでに.NETプラットフォームの標準(バージョン3)をサポートし、the documentation on the standardは、次の文章が含まれます。ライブラリのターゲット.NETプラットフォームの標準バージョン1.3場合は、それが唯一の.NET上で実行することができます
をフレームワーク4.6以降、.NETコア、ユニバーサルWindowsプラットフォーム10(UWP)、Mono/Xamarinプラットフォーム
しかし、このパスを下ろそうとするといくつかのエラー(this question is one of them)が発生しました。私の推測では、Xamarinのツーリングはまだ完全に標準化されていません。
最後に、Npgsqlをユーザーのソリューション内で共有プロジェクトとしてインポートすることは可能ですが、これは非常にハッキーで間違った解決策のようです.NuGetを完全にバイパスします。
誰もこれに関する情報を持っていますか?
私はVS NuGet GUIの「プレリリース」チェックボックスをチェックしましたが、明らかに同じことを意味するものではありません。「Install-Package-Pre」が機能しました。しかし、Npgsqlがインストールされた後、実際にプロジェクトを構築しようとすると、 'System.IO.FileNotFoundException:アセンブリを読み込めませんでした。 'System.Security.Cryptography.Algorithms、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a' 。 Androidプロファイル用のモノにはおそらく存在しないでしょうか? –
注:上記の問題に関する質問を投稿しました:http://stackoverflow.com/questions/37484894/consuming-netstandard13-packages-from-xamarin-projects –
パッケージのバグのように見えます。 NuGetが作成した "packages"フォルダを見ると、そこにこれらのライブラリがあります。 AndroidとiOSのフォルダは空です。 iOSで失敗しない理由は複数あるかもしれませんが、おそらくコンパイラ指令に関連していると思われます。 NuGetからインストールするのではなく、パッケージが明確に準備されていないので、ソースコードに対して作業するのが最善の選択肢です。 – SKall