しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

NuGet 1.4 が公開されていたらしい

私が STEINS;GATE 比翼恋理のだーりんの実績をコンプリートしていたころにこんなツイートがありました。

相変わらずアンテナの低さを露呈しつつ、とりあえずどんな更新内容なのか見てみます。

NuGet 1.4 Release Notes

おっと、いつも通りアップデートは Visual Studio の拡張機能マネージャから行ってくださいね。コマンドライン版の NuGet.exe は

NuGet.exe u

と打ち込めば更新されます。

Update-Package の改善

ソリューションレベルでのパッケージ管理が出来るようになってるらしいです。

例えばソリューション内の全てのプロジェクトで参照されている全てのパッケージを更新する場合には以下のコマンド。

Update-Package

ソリューション内の MvcApplication1 というプロジェクトのパッケージだけ更新したい場合は以下のコマンド。

Update-Package -Project MvcApplication1

ソリューション内のすべてのプロジェクトで参照されている、特定のパッケージだけ更新したい場合は以下のコマンド。

Update-Package パッケージID

あと -Safe という引数が追加されたようです。これを使うと メジャー・マイナーバージョンが同じバージョンで最新のパッケージがインストールされます。

今までだと 1.0 から 2.0 のアップデートでも問答無用で行われていましたが、-Safe を付けると 1.0.0 から 2.0.0 や 1.1.0 へのアップデートは行われずに、1.0.1 や 1.0.2 へのアップデートのみが行われるようになります。

Update-Package -Safe

ソリューションレベルでのパッケージ管理

ソリューションエクスプローラからソリューションを右クリックして表示されるメニューに、「Manage NuGet Packages...」という項目が追加されています。

ここからパッケージマネージャを表示させるとソリューションレベルで管理が可能になります。同様にプロジェクトの右クリックからも表示できるので、個別にパッケージ管理が可能になっています。

アップグレード可能なバージョンの制約

package 要素に allowedVersions という属性が追加されています。パッケージ側で 2.x から 3.x などのアップデートをさせないための属性のようです。

バージョンは以下のような記法で範囲指定を行います。括弧を使う範囲指定は数学でも使われるやつですね。

<package id="Hatena.Helper" version="1.4" allowedVersions="[1.0, 2.0)" />

詳しくは「Versioning」を参照してください。

パッケージビジュアライザ

Visual Studio には DGML という有効グラフを書くための機能があるようで、それを利用してパッケージの依存関係を表示することが出来ます。

jQuery とそのプラグインの関係がわかりやすいですね。

NuGet ダイアログでの更新チェック

更新があった場合にはダイアログにぴょこん!と情報バーが出るみたいですね。更新チェックは設定ダイアログからオンオフ出来ます。

まあ残りはオリジナルを参照してもらう方向で。

そうそう、Library Package Manager と呼ばれていた GUI での管理ツールは Manage NuGet Packages と名前を変えたようですね。こっちのがわかりやすい。