.NET 用パッケージマネージャー NuGet のインストールと使い方

NuGet.NET プロジェクトにライブラリーやツールを追加するためのパッケージ管理ツールです。
今回はこの NuGet パッケージマネージャーのインストールと使い方について紹介します。



なお、NuGet は .NET 開発用ですが、 Windows にアプリケーションなどをインストールするためのパッケージマネージャーもあります。 そちらに関しては以下の記事をご覧ください。
  • Windows 用パッケージマネージャー Chocolatey のインストールと使い方 | プログラマーズ雑記帳
  • NuGet パッケージマネージャー とは

    パッケージマネージャー

    パッケージマネージャーはインストール用の管理ツールです。 ここでのパッケージはアプリケーションやライブラリーなどのインストールする際の集まりを指しています。

    インストールには Windows ではインストーラーを使うのが普通ですが、 Linux ではパッケージマネージャーを使います。 プログラミング言語でも、 Ruby における RubyGems のように独自のパケージマネージャーを持つものが増えて来ました。

    このパッケージマネージャーは何がいいかというと、 あるライブラリーをインストールする場合にその依存ライブラリーも一緒にインストールしてくれる点です。
    依存ライブラリーは、さらに他のライブラリー依存していたり、バージョンの制限があったりして、これを手動でチェックやインストールするは結構大変です。 パッケージマネージャーでは整合性のチェックが可能です。 特にインターネットに対応していれば、足りないもの自分で取ってきて、インストールしてくれます。

    .NET プロジェクトのパッケージマネージャー

    .NET 版 のパッケージマネージャーが NuGet です。もちろんネット上からのダウンロードにも対応しています。

    .NET にもパッケージマネージャーができて、非常に喜ばしいことなのですが、 残念なところがあります。
    大抵のパッケージマネージャーはシステムに対してインストールします。 一方、 NuGet はプロジェクト(ソリューション)に対してインストールします。 このプロジェクト用というのが残念な点であり、気をつけないといけない点です。

    プロジェクト用なので、 プロジェクト(ソリューション)フォルダーにインストールした dll 等を含ませる形になります。
    同じライブラリーを使うソリューションが複数あった場合には、毎回インストールする必要があります。 同じ dll を何個もシステム上に持つことにもなります。

    また、他のパッケージマネージャーの経験者がプロジェクト用と気づかずに使うと "メニューが出ない" とか "コンソールで変なエラーが出る" といったことになります。

    この辺は "もっとなんとかなったんじゃないか" とは思いますが、ないよりは全然いいでしょう。

    NuGet の種類

    NuGet には 3 種類のものが用意されています。
    • Visutal Studio 版
    • コマンドライン版
    • WebMatrix 版
    Visutal Studio 版 は VS 上でプロジェクトのパッケージ管理できるようにする NuGet です。 今回はこちらを中心に紹介します。

    コマンドライン版 は VS 版に比べると使い方がややこしいです。 ただ、自分でパッケージを作成する場合には、こちらを使用する必要があります。
    ここでは簡単な説明しかしていないので、 詳しくは最後の参考として挙げたページを見て下さい。

    WebMatrix 版 は私が使ったことが無く、全く触れていません。

    システム要件

    Visutal Studio 版 は以下の条件が必要です。
    • VS2012 以上
    • VS2010 の場合は製品版のみ。 Express Edition は不可。
    • Windows 7 以上
    NuGet のダウンロードページ では "Windows PowerShell 2.0 がインストールされていれば、 XP や Vista でも動作する" といったことが書かれていました。 しかし、 PowerShell 2.0 は Vista の SP2 には含まれておらず、単体でインストールも失敗しました。


    コマンドライン版 では、特にシステム要件の記述はなく、 Vista でも動作しました。

    インストール

    NuGet 自体のインストールは インストーラーを使う方法 と VS から行う方法 の 2 通りあります。

    インストーラーを使ったインストール

    インストーラーを直接ダウンロードして、インストールします。
    一台の PC に複数バージョンの VS を入れている場合などには、 一度にできて便利だと思います。


    まず、以下のページから NuGet.Tools.vsix をダウンロードします。 ダウンロードした vsix ファイルを実行するとインストールウィザードが開始します。
    cs_nuget_inst_installer.png
    ここで、 インストールする VS のバージョンを確認して、 [インストール] を押せば、 インストールは完了します。

    Visual Studio からのインストール

    VS からインストールする場合には 拡張機能マネージャー を使用します。

    1. メニューの [ツール] → [拡張機能と更新プログラム] を選択
      cs_nuget_inst_vs_menu.png

    2. [オンライン] を選択
        「 NuGet パッケージマネージャー」の項目が出ない場合は検索に "NuGet" と入力
      cs_nuget_exmng.png

    3. 「Nuget Packager」 の [ダウンロード] を選択
    VS がインストーラーをダウンロードしてきて、自動的に起動します。
    インストールウィザードに従って、インストールを行ってください。

    使い方

    NuGet をインストールするとメインメニューの [ツール] に NuGet 用のメニューが追加されます。
    cs_nuget_menu.png

    GUI でのパケージインストール

    [NuGet パッケージの管理] 画面からインストールを行います。
    これを呼び出すメニュー項目は以下のメニュー内にあります。 この時、 インストール先となるプロジェクトを開いておく必要があります。
    • メインメニュー : [ツール] → [ライブラリ パッケージ マネージャー]
    • ソリューションエクスプローラー : ソリューションやプロジェクトを選択した時の右クリックメニュー
    パッケージのインストール手順は、拡張機能のインストールとほとんど同じです。
    「 Prism 」 のパッケージを例とすると次のようになります。
    1. [オンライン] を選択する。
    2. 検索で "Prism" と入力
    3. 「Prism」の項目にある [インストール] を選択
    cs_nuget_pkginst.png

    インストールするとパッケージがダウンロードされ、 ソリューションフォルダー内に dll 等が置かれます。
    [参照設定] も自動的に追加してくれます。

    コンソールでのパッケージインストール

    あまり使うことはないと思いますが、 VS 内のコンソールからインストールすることもできます。 パッケージ名がはっきりわかっている場合にはこちらの方が速いかも知れません。

    コンソールはメインメニューから起動します。
    • [ツール] → [ライブラリ パッケージ マネージャー] → [パッケージ マネージャー コンソール]
    このコンソール上では上下矢印キーによる履歴や Tab による補完など PowerShell と同じ操作が可能です。
    パッケージをインストールするには プロジェクトを開いた状態で以下のように入力します。
    Install-Package パッケージ名
    PM> Install-Package Prism 
    この他のコマンドについては 'get-help NuGet' を実行するか、以下のページを見てください。

    コマンドライン版 NuGet.exe

    コマンドライン版(NuGet.exe)も簡単に紹介します。

    インストール

    NuGet のインストールの説明ページのリンクをクリックすると、直接 NuGet.exe がダウンロードされます。 cs_nuget_exe_dl.png

    ダウンロードした exe ファイルを PATH の通ったフォルダーにおいて下さい。

    アップデート

    NuGet.exe は自分で自分のアップデートができるようになっています。
    サイトからダウンロードしたものが最新ではないこともあります。 インストール後、アップデートしておいた方がいいでしょう。

    以下のコマンドを実行すると NuGet.exe 自身がアップデートされます。
    ~/test $ nuget update -self
    Checking for updates from https://nuget.org/api/v2/.
    Currently running NuGet.exe 2.5.0.
    Updating NuGet.exe to 2.6.1.
    Update successful.
    

    使い方

    以下の形式でコマンドを実行するとカレントフォルダーにパッケージがダウンロードされます。
    nuget.exe install パッケージ名
      ~/test $  nuget.exe install Prism 
    コマンドの使用法に関しては 'nuget.exe help [コマンド名]' を実行するか、 以下のページで確認してください。

    参考

    関連記事
    スポンサーサイト



    Prev.    Category    Next 

    Facebook コメント


    コメント

    コメントの投稿

    Font & Icon
    非公開コメント

    このページをシェア
    アクセスカウンター
    アクセスランキング
    [ジャンルランキング]
    コンピュータ
    23位
    アクセスランキングを見る>>

    [サブジャンルランキング]
    プログラミング
    5位
    アクセスランキングを見る>>
    カレンダー(アーカイブ)
    プルダウン 降順 昇順 年別

    02月 | 2023年03月 | 04月
    - - - 1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31 -


    はてな新着記事
    はてな人気記事
    ブロとも申請フォーム
    プロフィール

    yohshiy

    Author:yohshiy
    職業プログラマー。
    仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

    はてブ:yohshiy のブックマーク
    Twitter:@yohshiy

    サイト紹介
    プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。