次の方法で共有


NuGet の新しいマルチプラットフォーム ライブラリの作成

PCL または .NET Standard を使用するマルチプラットフォーム ライブラリ プロジェクトを作成すると、結果として得られる NuGet を、ターゲット プロファイルをサポートする任意の .NET プロジェクト (ASP.NET プロジェクトなど)、または WinForms、WPF、または UWP を使用するデスクトップ アプリに追加できます。

ライブラリには、選択した PCL または .NET Standard プロファイルおよび追加されるその他の NuGet でサポートされるコードのみを含めることができます。 これは、.NET 基本クラス ライブラリで完全に表現できるビジネス ロジックとアルゴリズムに適しています。

1 つのアセンブリが作成され、NuGet パッケージに組み込まれます。

後でプラットフォーム固有の機能が必要になった場合は、プラットフォーム固有のプロジェクトを追加できます

マルチプラットフォーム ライブラリ NuGet を作成する手順

  1. [ファイル] > [新規ソリューション] を選択します (または、既存のソリューションを右クリックして [追加] > [新規プロジェクト] を選択します)。

  2. 以下のように [マルチプラットフォーム] > [ライブラリ] から [マルチプラットフォーム ライブラリ] を選択します。

    Screenshot shows Choose a template with Multiplatform Library selected.

  3. 以下のように [名前][説明] を入力し、[すべてのプラットフォームで 1 つ] を選択します。

    Screenshot shows values entered for Name, Description, and Implementation.

  4. ウィザードの完了。 ソリューションに 1 つのライブラリ プロジェクトが作成されます。

  5. 新しいライブラリ プロジェクトを右クリックし、[オプション] を選択します。 [ビルド] > [全般] セクションでは、[対象とする Framework] を設定できます。.NET ポータブル PCL プロファイルまたは .NET Standard バージョンを選択します。

    Choose PCL or .NET Standard for library type

  6. また、[プロジェクト オプション] ウィンドウで、[NuGet パッケージ] > [メタデータ] セクションを開き、必要なメタデータ (およびオプションのメタデータ) を入力します。

    Enter required metadata

  7. ライブラリ プロジェクトを右クリックし、[NuGet パッケージの作成] を選択する (またはソリューションのビルドかデプロイを行う) と、.nupkg NuGet パッケージ ファイルが (構成に応じてデバッグまたはリリースのどちらかの) /bin/ フォルダーに保存されます。

    The NuGet package file will be saved in the bin folder either Debug or Release, depending on configuration

出力の確認

NuGet パッケージは ZIP ファイルでもあるため、生成されたパッケージの内部構造を調べることができます。

このスクリーンショットは、PCL ベースの NuGet の内容を示しています。含まれる PCL アセンブリは 1 つだけです:

Files contained in the NuGet package

プラットフォーム固有のコードの追加

PCL ベースのプロジェクトと .NET Standard ベースのプロジェクトには、プラットフォーム固有の参照 (iOS や Android の機能など) を含めることはできません。

既存の PCL プロジェクトまたは .NET Standard プロジェクトを展開してプラットフォーム固有のコードを含める必要がある場合、これを行うには、プロジェクトを右クリックし、[追加] > [プラットフォームの実装を追加...] を選択します。

Add platform implementation menu

1 つ以上のプラットフォーム プロジェクトをソリューションに追加でき、必要に応じて既存の PCL または .NET Standard ライブラリを共有プロジェクトに変換できます。

Add platform options such as iOS, Android, and Shared Project

共有プロジェクトに変換した後、[プロジェクト オプション]> [NuGet パッケージ]> [参照アセンブリ] セクションにアクセスし、(NuGet が以前に使用されたプロジェクトとの互換性が維持されるように) 必要なプロファイルが選択されていることを確認します。