プロジェクトに NuGet パッケージを含めるInclude a NuGet package in your project

NuGet は、.NET 開発用の最も一般的なパッケージ マネージャーであり、Visual Studio for Mac および Windows の Visual Studio に組み込まれています。NuGet is the most popular package manager for .NET development and is built in to Visual Studio for Mac and Visual Studio on Windows. パッケージを検索し、Xamarin.iOS プロジェクトおよび Xamarin.Android プロジェクトにいずれかの IDE を使用して追加することができます。You can search for and add packages to your Xamarin.iOS and Xamarin.Android projects using either IDE.

この記事では、プロジェクトに NuGet パッケージを含める方法について説明し、プロセスをシームレスにするツール チェーンを示します。This article describes how to include a NuGet package in a project and demonstrates the tool chain that makes the process seamless.

Visual Studio for Mac の NuGetNuGet in Visual Studio for Mac

NuGet パッケージの機能を示すため、まず、新しいアプリケーションを作成して、それにパッケージを追加します。To demonstrate the NuGet package functionality, we'll first walk through creating a new application and adding a package to it. 次に、パッケージの管理に役立つ IDE 機能について説明します。Then we'll discuss the IDE features that help manage packages.

新しいプロジェクトを作成するCreate a new project

まず、以下に示すように HelloNuget という名前のプロジェクトを作成します。First, create a project named HelloNuget as illustrated below. この例では iOS 用の単一ビュー アプリケーションのテンプレートを示していますが、サポートされているどのプロジェクト タイプでも動作します。This example shows the iOS Single View Application template, but any supported project type would work:

新しい iOS プロジェクトを作成する

パッケージの追加Adding a Package

Visual Studio for Mac でプロジェクトを開いた状態で、Solution Pad[パッケージ] フォルダーを右クリックし、[パッケージを追加] を選択します。With the project open in Visual Studio for Mac, right-click on the Packages folder in the Solution Pad and select Add Packages:

新しい NuGet パッケージのコンテキスト アクションを追加する

これで、[パッケージを追加] ウィンドウが起動します。This launches the Add Packages window. ソース ドロップダウンが次のように nuget.org に設定されていることを確認します。Ensure that the Source drop-down, is set to nuget.org:

ソース リスト ドロップダウン

ウィンドウが開くと、既定のパッケージ ソースである nuget.org のパッケージ リストが読み込まれます。最初の結果は次のようになります。When the window opens it loads a list of packages from the default package source: nuget.org. The initial results look like this:

Nuget パッケージのリスト

 azure などの特定のパッケージを検索するには、右上隅の検索ボックスを使用します。Use the search box in the top-right corner to find a specific package, for example azure. 使用するパッケージが見つかったら、それを選択し、 [パッケージを追加]  ボタンをクリックしてインストールを開始します。When you've found a package that you wish to use, select it and click the Add Package button to begin installation.

Azure の NuGet パッケージを追加するAdd Azure NuGet Package

パッケージはダウンロードされた後、プロジェクトに追加されます。Once the package has been downloaded, it will be added to your project. ソリューションは次のように変更されます。The solution will change as follows:

  • [参照] ノードには、NuGet パッケージの一部であるすべてのアセンブリのリストが含まれます。The References node will contain a list of all the assemblies that are part of a NuGet package.
  • [パッケージ] ノードには、ダウンロードした各 NuGet パッケージが表示されます。The Packages node displays each NuGet package that you have downloaded. このリストのパッケージを更新したり、削除したりすることができます。You can update or remove a package from this list.
  • packages.config ファイルはプロジェクトに追加されます。A packages.config file will be added to the project. この XML ファイルは、このプロジェクトで参照されるパッケージ パージョンを追跡するために IDE で使用されます。This XML file is used by the IDE to track which package versions are referenced in this project. このファイルを手動で編集しないでください。ただし、バージョン管理で保持する必要があります。This file should not be hand-edited, but you should keep it in version control. project.json ファイルを packages.config ファイルの代わりに使用できることに注意してください。Note that a project.json file can be used instead of a packages.config file. project.json ファイルは、NuGet 3 で導入された新しいパッケージ ファイル形式であり、推移的な復元をサポートします。The project.json file is a new package file format introduced with NuGet 3, which supports transitive restore. project.json の詳細については、NuGet のドキュメントを参照してください。More detailed information on project.json can be found in the NuGet documentation. Visual Studio for Mac で project.json ファイルを使用する前に、project.json ファイルを手動で追加して、プロジェクトを閉じてから再度開く必要があります。The project.json file needs to be added manually and the project closed and re-opened before the project.json file is used in Visual Studio for Mac.

NuGet パッケージの使用Using NuGet Packages

NuGet パッケージが追加され、プロジェクト参照が更新されたら、他のプロジェクト参照の場合と同じように API に対してプログラミングできます。Once the NuGet package has been added and the project references updated, you can program against the APIs as you would with any project reference.

必ず、必要な  using  ディレクティブをファイルの先頭に追加してください。Ensure that you add any required using directives to the top of your file:

using Newtonsoft.Json;

ほとんどの NuGet では、README や Nuget ソースへのプロジェクト ページ リンクなどの追加情報が提供されます。Most NuGet provide additional information, such as a README or Project page link to the Nuget source. 通常は、[パッケージを追加] ページのパッケージの宣伝文にこのリンクが表示されます。You can normally find a link to this in the package blurb on the Add Packages page:

プロジェクト ページ リンクを表示するView Project Page link

パッケージの更新Package Updates

パッケージの更新は、すべて一度に行う ([パッケージ] ノードを右クリックする) ことも、コンポーネントごとに個別に行うこともできます。Package updates can be done either all at once, by right-clicking on the Packages node, or individually on each component.

コンテキスト メニューにアクセスするには、次のように [パッケージ] を右クリックします。Right-click on Packages to access the context menu:

パッケージ メニュー

  • [パッケージを追加] - プロジェクトにさらにパッケージを追加するためのウィンドウが開きます。Add Packages - Opens the window to add more packages to the project.
  • [更新] - 各パッケージのソース サーバーを確認し、新しいバージョンをダウンロードします。Update - Checks the source server for each package and downloads any newer versions.
  • [復元] - 不足しているパッケージをダウンロードします (既存のパッケージを新しいバージョンに更新しません)。Restore - Downloads any missing packages (without updating existing packages to newer versions).

更新オプションと復元オプションはソリューション レベルでも使用でき、ソリューション内のすべてのプロジェクトに影響します。Update and Restore options are also available at the Solution level, and affect all the projects in the solution.

次のように、個々のパッケージを右クリックして、コンテキスト メニューにアクセスすることもできます。You can also right-click on individual packages to access a context menu:

パッケージ メニュー

  • [バージョン番号] - バージョン番号は無効になっているメニュー項目です。情報提供のみを目的としています。Version Number - The version number is a disabled menu item - it is provided for informational purposes only.
  • [更新] - ソース サーバーを確認し、新しいバージョン (存在する場合) をダウンロードします。Update - Checks the source server and downloads a newer version (if it exists).
  • [削除] - このプロジェクトからパッケージを削除し、プロジェクトの参照から関連するアセンブリを削除します。Remove - Removes the package from this project and removes the relevant assemblies from the project's References.

パッケージ ソースの追加Adding Package Sources

インストール可能なパッケージが最初に nuget.org から取得されます。ただし、Visual Studio for Mac に他のパッケージの場所を追加することができます。Packages available for installation are initially retrieved from nuget.org. However, you can add other package locations to Visual Studio for Mac. これは、開発中の独自の NuGet パッケージをテストする場合や、会社または組織内でプライベートの NuGet サーバーを使用する場合に便利です。This can be useful for testing your own NuGet packages under development, or to use a private NuGet server inside your company or organization.

Visual Studio for Mac で、[Visual Studio]、[基本設定]、[NuGet]、[ソース] の順に移動し、パッケージ ソースのリストを表示して編集します。In Visual Studio for Mac, navigate to Visual Studio > Preferences > NuGet > Sources to view and edit the list of package sources. ソースはリモート サーバー (URL で指定) またはローカル ディレクトリである場合があります。Note that sources can be a remote server (specified by a URL) or a local directory.

パッケージ ソース

[追加] をクリックして新しいソースをセットアップします。Click Add to set-up a new source. パッケージ ソースのフレンドリ名と URL (またはファイル パス) を入力します。Enter a friendly name and the URL (or file path) to the package source. ソースがセキュリティで保護された Web サーバーの場合は、ユーザー名とパスワードも入力します。それ以外の場合はこれらの項目を空白のままにします。If the source is a secure web server, enter the username and password as well, otherwise leave these entries blank:

パッケージ ソースを追加する

パッケージを検索する際に、以下のようにさまざまなソースを選択することができます。Different sources can then be selected when searching for packages:

パッケージ ソースを追加する

バージョン コントロールVersion Control

NuGet のドキュメントでは、ソース管理にパッケージをコミットせずに NuGet を使用する方法について説明しています。The NuGet documentation discusses using NuGet without committing packages to source control. ソース管理でバイナリおよび未使用の情報を格納しない場合は、自動的にサーバーからパッケージを復元するように Visual Studio for Mac を構成することができます。If you prefer not to store binaries and unused information in source control, you can configure Visual Studio for Mac to automatically restore packages from the server. これは、開発者が初めてソース管理からプロジェクトを取得するときに、Visual Studio for Mac が自動的に必要なパッケージをダウンロードしてインストールすることを意味します。This means that when a developer retrieves the project from source control for the first time, Visual Studio for Mac will automatically download and install the required packages.

パッケージを自動的に復元する

packages ディレクトリを追跡対象から除外する方法の詳細については、特定のソース管理のドキュメントを参照してください。Refer to your particular source control documentation for details on how to exclude the packages directory from being tracked.

関連項目See also