someone's notebook

誰かさんの書いたジャポニカ学習帳

NuGetパッケージの更新/復元スクリプトを作ったよ

訳あって書きました。

NuGetって何?て方は@ITに解説があります。

CPANとかRubyGemsとかpipみたいに既存のパッケージ群を取り込める仕組みです。
ライセンスの保証はしないと明記されてるので使用する際はライセンスの確認をしておいた方がよいです。

で、便利だなあと思ってNuGet使っているんですが、現時点のVisualStudioExpressEditionではWebDeveloperのみでしか使えなくてちょっと残念。

困るのはExpressEditionだとソースコードをチェックアウトしてきてからライブラリを復元したり、あるいは更新したりできないこと。
要はExpressな人とNuGetパッケージ利用したプロジェクトをシェアできないし、ライブラリが更新されててもサクッとキャッチアップできない。
かといってリポジトリにDLLをコミットすると肥大化していくからやりたくない。

外部ライブラリにどっぷり依存するのが悪い!という声が聞こえてきそうですが、まあ楽なのはたしかだし、車輪の再発明とかコードを丸ごとコピーとかするよりいいでしょう。
再利用、再利用。

SkyDriveにアップロードしたので、使いたいという稀有な方はこちらからどうぞ。

使い方は解凍したbuildフォルダをソリューションファイル(*.sln)と同階層に配置し、NugetRestore.ps1をPowerShellから実行するだけ。
NuGetのリストアを有効化したり、PowerShellの実行ポリシー変更など必要な下準備は同梱のReadMe.txtを読んでください。

けっこうNuGet使ってライブラリ入れてる人にとって、NuGetパッケージ更新or復元でVisualStudio立ち上げるのはめんどうだと思うんですよね。この方法ならVS立ち上げなくても更新後の依存関係を解決するし、個人的には捗ります。

2012/12/21 更新

GitHubにうpしました。

Fork me on GitHub