NuGet で簡単にパッケージを導入する。


案外知られていない気がする。

Ruby や Python では、パッケージを簡単にインストールして利用する方法があって、

Ruby では gem
Python では easy_install

がこれに該当しますかね。

 

.NET にも NuGet という同様の仕掛けが存在し、
利用することが出来ます。

.NET開発の新標準「NuGet」入門(前編) - @IT
詳細な解説についてはここのあたりを見ておくと良いかと思います。

 

注:対象は Visual Studio 2010 以降の Visual Studio に限ります。


分からない人向け:

たとえば、今から Twitter の機能を利用したソフトウェアを作ろうとあなたが思ったとき、
以下の選択肢から一つ選ぶことになると思います。

1.自分で OAuth の認証書いて、アクセスするライブラリを作る。
2.インターネットから既存のライブラリをとってくる。

現代においては、教育目的を除いて 1 を選ぶことは殆ど無いかと思います。
(気に入る形に出来ない場合や、そもそも無い場合は作ることにはなりますが。)

 

となると、現実的な回答としては、2となりますが、
インターネットから探してきて、インストールして・・っていうのは面倒で、
カタカタっと名前を打ったりして、簡単にインストール出来た方がいいわけです。

インストーラが面倒くさいということも考えられるでしょうし、
そもそも、インストーラが無くて、自分で組み込まなければならない場合は面倒になりますし、
友人に教えながら作業するという場合や、雑誌にやり方を載せる場合などにおいては、
友人や読者にファイルのありかを教えなければなりませんし、
複数台に組み込む時なども・・・・ とまぁ、非常にナンセンスな訳です。

 

そんなわけで、 Python の easy_install や Ruby の gem
そして、この記事で触れる .NET の NuGet などのパッケージ管理ソフトウェアを用いることにより、
単純明快でかつ高速に、ライブラリを用意して使い始めることが出来ます。

また、ライブラリに更新があった場合、手動で入れた場合はまたインストールをしなければなりませんが、
大抵こういうパッケージ管理ソフトでは、アップデートも簡単に行える仕様が備わっています。

 

という感じで、長文になりましたが、
導入~更新 まで、ライブラリの利用に関するあらゆることを簡単に使えるようにした物。
それが、パッケージ管理ソフトウェア ということになります。


というわけで本題。

 

1.導入

http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c
上記URL より、 Download をクリックしてダウンロード、インストーラを起動します。

 

image

上のような画面が出ますので、インストールをクリックし、導入を完了させます。

 

2.開発を始める。

image

いつものように、ソリューションを開きます。

 

3.パッケージを導入する。

image

メニューバーの 「ツール」 → 「Library Package Manager」 → 「Package Manager Console」 をクリックします。

image

コンソールが立ち上がった。

 

今回は例として、

http://www.twitterizer.net/
上記URL にて公開している、「Twitterizer」を導入してみます。

 

image

Install-Package twitterizer

と打って、Enter で実行。

 

image

自動的に依存関係が解決された状態で、参照にライブラリが加わり、使えるようになる。

 

3.コード書いて動かす。

 

image

 

とりあえずこんな感じ。

 


というわけで、適当に超基本的なコマンドだけ、対応表にするとこんな感じなのかなぁ。

コマンド

NuGet

gem

easy_install

hoge をインストール Install-Package hoge gem install hoge easy_install hoge
hoge を更新 Update-Package hoge gem update hoge easy_install –U hoge
全部更新 Update-Package gem update easy_install –U
hoge を削除 Uninstall-Package hoge gem uninstall hoge  

NuGet のコマンドについては、

http://www.atmarkit.co.jp/fdotnet/chushin/nuget_01/nuget_01_02.html
上記URL に大体まとまっているかと思います。

 

そんな感じで。であであ。


 

関連記事