.net column

.NET開発者のためのブログメディア
パッケージ

NuGetを使って.NET Frameworkのパッケージを作成する方法

2020年04月15日

Visual Studioでの開発経験がある方でしたら、NuGetを使用してライブラリをインストールしたことがある方も多いのではないでしょうか。そんな便利なNuGetについて、ここで改めて概要などを確認していきましょう。

SE
NuGetって本当に便利ですよね。使いたいライブラリがあれば、すぐにインストールできて利用できますもんね。
PL
NuGetを活用すれば、Facebookの「いいね」ボタンのようなものを追加したい場合にも役立ちますよ。

NuGetの概要

NuGetは.NET Frameworkアプリケーション開発向けのパッケージマネージャーです。ここでいうパッケージの代表例として挙げられるのが、JavaScriptのライブラリであるjQueryやExcelの自動化に役立つNPOIです。

仮にjQueryがバージョンアップした場合、バージョンの差異などから発生する依存関係の問題を自力で解決するには、工数がかかってしまうことでしょう。しかし、NuGetを利用してインストールすると、依存関係の問題は自動的に解決してくれます。必要としているパッケージが対応外のバージョンである場合は、最新版への更新も自動で行ってくれます。バージョンの差異を気にする必要がないため、開発者にとってはとてもありがたいツールとなるはずです。

また、NuGetにはWebサービスを簡単に使用できる、「ヘルパー」と呼ばれる再利用可能なパッケージも数多く揃えられています。Facebookの「いいね」ボタンやTwitterの「ツイートする」ボタンを追加したい場合には活用してみると良いでしょう。

Visual Studioでのパッケージ作成方法

自分が作成した便利なライブラリを公開したい場合には、NuGetパッケージにして全世界に公開してみましょう。Visual Studioから簡単にできますので、チャレンジしてみても良いかもしれません。

  1. クラスライブラリを作成します。
  2. Visual Studioの「ファイル」タブ→「新規作成」→「プロジェクト」→「.NET Core」タブまたは「.NET Standard」タブにあるクラスライブラリを選択してください。
    新しいプロジェクト

  3. クラスライブラリを作成後、コンパイルを実施します。
  4. その後、各プロジェクト名にあるプロパティを開き、「パッケージ」タブを開きます。各自必要な情報を入力してください。
    パッケージの情報入力

  5. ソリューションのプロパティを開き、「構成プロパティ」タブから構成をReleaseへ変更します。
  6. 構成プロパティの変更

  7. プロジェクト名で右クリック→「パック」を選択し、実行します。
  8. パックの選択

  9. プロジェクトフォルダ\bin\Release\に.nupkgファイルが出来上がります。
  10. https://www.nuget.org/へ移動してサインインを行います。
  11. アカウントがない場合はアカウントを作成しましょう。サインイン後、メニューからAPI Keysを選択します。

  12. Create項目を選択し、キー名などを入力し「Create」ボタンを押下します。
  13. Create項目

  14. コマンドプロンプトから.nupkgファイルがあるフォルダへ移動します。
  15. そこで公式サイトにも記載されている通り

    をコマンド入力します。

  16. https://www.nuget.org/へ再度移動し、パッケージがアップロードされたかを確認しましょう。

マイクロソフトの公式サイトでもパッケージ作成方法は詳細に公開されていますので、参考にしてみると良いでしょう。

SE
ライブラリの公開だなんて、まだまだ実力が足りません……。でもそこまでの実力をつけて公開できるようになりたいです!
PL
そうですね。NuGetは本当に便利なツールです。Visual Studioが優れた統合開発環境であるかが、よく分かりますね。

NuGetを利用してインストール作業の効率化を

公式サイトからダウンロードしてインストールし、そのDLLの参照など、NuGetを使わずにライブラリをVisual Studioで利用できる状態にする方法もあります。しかし、NuGetを使用してライブラリのインストール作業を行う方が、ライブラリの依存関係に気をつける必要がなくなるのでおすすめです。NuGetをどんどん活用して作業の効率化を図っていきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)