Visual Studio for Mac に NuGet パッケージをインストールして管理する

重要

Visual Studio for Mac は、Microsoft の モダン ライフサイクル ポリシーに従って、2024 年 8 月 31 日に廃止される予定です。 引き続き Visual Studio for Mac を使用できますが、VS Code 用の新しい C# 開発キット拡張機能のプレビュー バージョンなど、Mac 上の開発者向けの他のいくつかのオプションがあります。

サポートタイムラインと代替方法の詳細をご確認ください

Visual Studio for Mac 内で NuGet パッケージ マネージャー UI を使用すると、プロジェクトやソリューション内で NuGet パッケージを簡単にインストール、アンインストール、更新することができます。 パッケージを検索し、.NET Core、ASP.NET Core、Xamarin プロジェクトに追加することができます。

この記事では、プロジェクトに NuGet パッケージを含める方法について説明し、プロセスをシームレスにするツール チェーンを示します。

Visual Studio for Mac での NuGet の使用の概要については、「クイック スタート: Visual Studio for Mac にパッケージをインストールして使用する」を参照してください。

パッケージを検索してインストールする

  1. Visual Studio for Mac でプロジェクトを開いた状態で、 [ソリューション] ウィンドウ内の [依存関係] フォルダー (Xamarin プロジェクトを使用する場合は [パッケージ] フォルダー) を右クリックし、 [NuGet パッケージの管理] を選択します。

    This screenshot is of Add new NuGet package context action.

  2. [NuGet パッケージの管理] ダイアログが表示されます。 中央の NuGet パッケージ リポジトリを検索できるように、ダイアログの左下隅にある [パッケージ ソース] ドロップダウンを確実に nuget.org に設定します。

    This screenshot is of Manage NuGet Packages dialog - List NuGet Packages. The Package source option is set to nuget.org.

  3. EntityFramework などの特定のパッケージを検索するには、右上隅の [検索] ボックスを使用します。 使用するパッケージが見つかったら、それを選択し、 [パッケージを追加] ボタンを選んでインストールを開始します。

    This screenshot is of add EntityFramework NuGet Package.

  4. パッケージはダウンロードされた後、プロジェクトに追加されます。 ソリューションは、編集中のプロジェクトの種類に応じて変化します。

    Xamarin プロジェクト

    • [参照] ノードには、NuGet パッケージの一部であるすべてのアセンブリのリストが含まれます。
    • [パッケージ] ノードには、ダウンロードした各 NuGet パッケージが表示されます。 このリストのパッケージを更新したり、削除したりすることができます。

    .NET Core プロジェクト

    • [依存関係] > [NuGet] ノードには、ダウンロードした各 NuGet パッケージが表示されます。 このリストのパッケージを更新したり、削除したりすることができます。

NuGet パッケージの使用

NuGet パッケージが追加され、プロジェクト参照が更新されたら、他のプロジェクト参照の場合と同じように API に対してプログラミングできます。

必ず、必要な using ディレクティブをファイルの先頭に追加してください。

using Newtonsoft.Json;

パッケージの更新

パッケージの更新は、[依存関係] ノード (または、Xamarin プロジェクトの場合は [パッケージ] ノード) を右クリックすることで、すべて一度に行うことも、パッケージごとに個別に行うこともできます。 NuGet パッケージの新しいバージョンを使用できる場合は、更新アイコン This is the update icon for updating a new version of NUGet package - Up arrow with circle. が表示されます。

コンテキスト メニューにアクセスするには、[依存関係] を右クリックして、[更新] を選択し、すべてのパッケージを更新します。

This screenshot shows the Dependencies context menu with the Update menu highlighted.

  • [NuGet パッケージの管理] - プロジェクトにさらにパッケージを追加するためのウィンドウが開きます。
  • [更新] - 各パッケージのソース サーバーを確認し、新しいバージョンをダウンロードします。
  • [復元] - 不足しているパッケージをダウンロードします (既存のパッケージを新しいバージョンに更新しません)。

[更新] オプションと [復元] オプションはソリューション レベルでも使用でき、ソリューション内のすべてのプロジェクトに影響します。

パッケージのプレリリース版への更新

パッケージの新しいプレリリース版に更新するには、 [依存関係] を右クリックしてコンテキスト メニューを開き、 [NuGet パッケージの管理] メニューを選択します。

This screenshot shows Dependencies context menu with Manage NuGet Packages... menu highlighted.

ダイアログの下部にある [Include prereleases](プレリリースを含める) チェックボックスをオンにします。

This screenshot shows Manage NuGet Packages dialog opened with the 'Include prereleases option checked.

最後に、ダイアログの [更新プログラム] タブで、更新するパッケージを選択し、 [新しいバージョン] ドロップダウンから新しいプレリリース版を選択して、 [パッケージの更新] を選びます。

This screenshot shows Manage NuGet Packages dialog opened to the Installed tab, with a package selected and the New Version dropdown list open.

すべての古いパッケージの特定

[ソリューション] ウィンドウから、現在インストールされているパッケージのバージョンを確認できます。 更新するパッケージを右クリックします。

This screenshot shows Packages menu with the options to Update, Remove, Refresh.

また、新しいバージョンのパッケージを使用できる場合は、パッケージ名の横に通知も表示されます。 更新するかどうかを決定できます。

This screenshot is of Notification shown when a new package version is available.

表示されるメニューには、次の 2 つのオプションがあります。

  • [更新] - ソース サーバーを確認し、新しいバージョン (存在する場合) をダウンロードします。
  • [削除] - このプロジェクトからパッケージを削除し、プロジェクトの参照から関連するアセンブリを削除します。

ソリューションのパッケージの管理

ソリューションのパッケージの管理は、複数のプロジェクトを同時に操作するための便利な手段です。

  1. ソリューションを右クリックし、[NuGet パッケージの管理] を選択します。

    This screenshot shows Manage NuGet packages for the solution.

  2. ソリューションのパッケージを管理する場合、UI を利用して、操作によって影響を与えるプロジェクトを選択できます。

    This screenshot shows Project selector when managing packages for the solution.

[統合] タブ

複数のプロジェクトを含むソリューションで作業する場合、各プロジェクトで同じ NuGet パッケージを使う場合は、必ずそのパッケージの同じバージョン番号も使います。 Visual Studio for Mac を使用すると、これが簡単になります。ソリューション用のパッケージの管理を行う場合に、パッケージ マネージャー UI の [統合] タブを指定します。 この [統合] タブを使用すると、ソリューション内の各プロジェクトで使用されているパッケージのバージョン番号が異なる場合を容易に確認できます。

This screenshot shows the Package Manager UI Consolidate tab.

この例の場合、NuGetDemo プロジェクトでは Microsoft.EntityFrameworkCore 3.1.23 が使用されていますが、NuGetDemo.Shared では Microsoft.EntityFrameworkCore 5.0.2 が使用されています。 複数のパッケージ バージョンを統合するには、次の手順を実行します。

  1. プロジェクトの一覧で、更新するプロジェクトを選択します。
  2. [新しいバージョン] リスト内で該当するすべてのプロジェクトに使用するバージョン (Microsoft.EntityFrameworkCore 6.0.3 など) を選択します。
  3. [パッケージの統合] ボタンを選択します。

パッケージ マネージャーによって、選択されたすべてのプロジェクトに対して、選択されたパッケージ バージョンがインストールされます。パッケージは [統合] タブ上には表示されなくなります。

パッケージ ソースの追加

インストール可能なパッケージが最初に nuget.org から取得されます。ただし、Visual Studio for Mac に他のパッケージの場所を追加することができます。 これは、開発中の独自の NuGet パッケージをテストする場合や、会社または組織内でプライベートの NuGet サーバーを使用する場合に便利です。

Visual Studio for Mac で、[Visual Studio]、[基本設定]、[NuGet]、[ソース] の順に移動し、パッケージ ソースのリストを表示して編集します。 [ソース] はリモート サーバー (URL で指定) またはローカル ディレクトリである場合があります。

This screenshot shows Package Sources to add other package locations to Visual Studio for Mac.

[追加] を選んで新しいソースを設定します。 パッケージ ソースのわかりやすい [名前][場所] (URL またはファイル パス) を入力します。 ソースがセキュリティで保護された Web サーバーの場合は、 [ユーザー名][パスワード] も入力します。それ以外の場合はこれらの項目を空白のままにします。

This screenshot shows Add Package Source dialog with a prompt for Name, location URL, user name, and password.

パッケージを検索する際に、以下のようにさまざまなソースを選択することができます。

This screenshot shows Add Package Source dialog showing a drop down with a list of package sources.

バージョン コントロール

NuGet のドキュメントでは、ソース管理にパッケージをコミットせずに NuGet を使用する方法について説明しています。 ソース管理でバイナリおよび未使用の情報を格納しない場合は、自動的にサーバーからパッケージを復元するように Visual Studio for Mac を構成することができます。 開発者が初めてソース管理からプロジェクトを取得すると、Visual Studio for Mac が自動的に必要なパッケージをダウンロードしてインストールします。

This screenshot shows the Preferences screen to automatically restore packages when opening a solution.

packages ディレクトリを追跡対象から除外する方法の詳細については、特定のソース管理のドキュメントを参照してください。

関連項目