0

私は.NETライブラリ(BL層)と完全に動作するAndroidアプリ(UI層)を持っています。 UIレイヤはBLインターフェイスを実装します。PCLプロジェクトで.NETライブラリを使用する方法はありますか?

今、PCLでXamarinFormsアプリを作成したいと思います。しかし、他のソリューションのプロジェクトを参照することはできません。

ポータブルライブラリプロジェクトは、他のポータブルライブラリのプロジェクトやアセンブリのみを参照できます。

これにはどのような回避策がありますか? .NETライブラリを使用してXamarinFormsクロスプラットフォームアプリケーションを開発する方法はありますか?

答えて

2

いいえ、.Netライブラリのみを使用してXamarinクロスプラットフォームアプリを構築することはできません。 PCLは特定の「プロファイル」と結びついています。このプロファイルはMicrosoftによって提供され、再コンパイルすることなくすべてのターゲットフレームワークで使用できる特定のAPIを定義します。

あなたの情報のために、VS2015アップデート3の既存プロファイルの一部を以下に示します:link

重要なことは、選択するプラットフォームが多いほど、使用できるAPIが少なくなることです。私。 PCLでは、文字列ファイル名からStreamReaderを作成することはできません。したがって:

var reader = new System.IO.StreamReader(filename); 

PCLでは機能しません!このような場合、抽象化を実装する必要があります。

既存の.NETアセンブリをPCL(または.Net Standard library)に変換できます。それがあなたのPCLからあなたのライブラリを参照できる唯一の方法です。

関連する問題