2017-11-25 23 views
1

Visual Studio for Macプロジェクトを正しくセットアップするための助けが必要です。私はVisual Studio Macを使い始めたばかりで、適切な道を踏み外していただければ幸いです。.NETアセンブリを参照でき、iOS Xamarinアプリケーションで参照できるプロジェクトタイプはどれですか?

私はWindows上のビジュアルスタジオ2017で開発された大きなクラスライブラリを持っています.iOSアプリケーションを開発するためにそのコードの多くを使いたいと思います。

  • システム
  • System.Runtime.Serialization
  • System.ServiceModel
  • System.ServiceModel.Web
  • のSystem.Web:このクラスライブラリは、への参照が必要です。

私は、Visual Studio for Macでこのコードをポータブルクラスライブラリに移植しようとしました。しかし、PCLでは上記のアセンブリを参照することはできません(何かが欠けていない限り)。

私は.NETライブラリプロジェクト(その他 - > .NET - >ライブラリ)プロジェクトに移植しました。しかし、私のiOSアプリケーションでは、そのプロジェクトタイプへの参照が許可されません。なぜなら、VS for Macには、「互換性のないターゲットフレームワーク:.NETFramework、バージョン-v4.6.1」があるからです。

これにはどのプロジェクトタイプを使用する必要がありますかクラスライブラリには、必要な.NETアセンブリを参照することができ、それは私のiOSアプリケーションから参照できるように

答えて

1

可能なオプション:?

  1. 異なるポータブルクラスライブラリ(PCL)プロファイルを使用し
  2. 使用。 .NET標準プロジェクト
  3. 共有プロジェクトを使用する。

System.Web以外にも、探しているアセンブリがあるPCLプロファイルがあります。あなたは、PCLディレクトリを調べて、Mac上で使用可能なアセンブリを参照することができます

/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks/.NETPortable

あなたの場合そこにターミナルウィンドウを開くと、find . -name "System.ServiceModel.Web.dll"の検索を実行したり、Finderを使用してフォルダを参照して、必要なアセンブリがあるPCLプロファイルを見つけることができます。

もう1つの可能性は、Xamarin.iOSプロジェクトによって参照されることが多くのアセンブリが使用可能で、サポートされている.NET Standard 2.0プロジェクトを使用することです。必要なアセンブリを提供するために、他のSystem。* NuGetパッケージをインストールする必要があります。 .NET標準2.0で利用可能な

名前空間は文書化されています:

https://docs.microsoft.com/en-us/dotnet/api/?view=netstandard-2.0

別のオプションは、共有プロジェクトを使用しています。これにはアセンブリ参照自体はありませんが、基本的にはそれを参照するすべてのプロジェクトにコンパイルされた共有コードです。ここでは、iOSまたはAndroid固有のすべてのコードに#ifdefsを使用できます。

関連する問題