BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース .NET向けソリューションレベルの依存性管理

.NET向けソリューションレベルの依存性管理

原文(投稿日:2011/07/07)へのリンク

NuGetのバージョン1.4が出荷され、バージョン1.3と比べて、次のようなフィーチャが改善された。ソリューションレベルでのパッケージの管理機能、 Update-Packageコマンドでの改善、パッケージのアップデートに際して、バージョン範囲を制限できるなど。新しいフィーチャと共に、全部で88点の修正項目があり、その内71点がバグの修正である。

最新リリースの主要なフィーチャは、ソリューションレベルでパッケージを管理するNuGet の機能である。以前のバージョンでは、ユーザーは、パッケージを複数のプロジェクトにインストールするには、その都度ダイアログをオープンするという、退屈なプロセスを経なければならなかった。この新フィーチャによって、ユーザーは、1つのダイアログをオープンするだけで、複数のプロジェクトにパッケージをインストール/アンインストール/アップデートできる。

NuGetは、またパッケージ マネージャ コンソールでのパッケージ アップデートも改善し、コマンドラインから、ソリューションにおける複数プロジェクトに跨って、全パッケージを同じバージョンに保つのがより簡単になった。 複数パッケージのアップデート オプションが使えるようになった

NuGetチームは、また全プロジェクトで全パッケージをアップデートしている間に起こり得る問題も考慮した。パッケージは、ライブフィードの中で、最新版にアップデートされるので、アプリケーション中のパッケージがサポートしていないバージョンにアップグレードされてしまうこともあり得るわけである。このような状況は、パッケージがアップグレードできるバージョン範囲を制限するオプションを加えることで、対処できる。アプリケーション中のパッケージは、サポートしていないバージョンには絶対にアップグレードされない。packages.configファイルをハンドで編集して、新しい allowedVersions特性を使うことで、この制限を加えることができる。

全パッケージとそれらの依存関係を簡単に可視化できるようにする、 Package Visualizerが NuGet 1.4には付いてくる。ただし、これは、 Visual Studio Premium あるいはそれ以上にだけに付いてくる。

新フィーチャに加えて、いくつかの問題が解決された。リリースノートには、3つの主要なバグが解決された、と強調されている。

  • Issue 603: 特定のパッケージソースを指定している際に、異なるリポジトリ間でのパッケージ依存性を正しく解決する。
  • Issue 1036: ポスト-ビルド イベントに NuGet Pack SomeProject.csprojを加えても、無限ループを起こさなくなった。
  • Issue 961:-Sourceフラッグが相対パスをサポートするようになった。

NuGet 1.5 リリースに向けた開発が進んでいる。Phill Haack氏がアナウンスの中で、将来のリリースの目玉となるテーマを挙げている。 -

  • 単純なパッケージ作成: 我々は常に、 Visual Studioの内外からコードを作成したり、共有するための敷居を下げたいと思っている。
  • エンタプライズにおけるNuGet: この中には、 Visual Studio外でのCIシナリオ、信頼証明されたフィードなどを含む。
  • 柔軟性のあるパッケージング: 参照されていないが、デプロイされるアセンブリ、あるいは真逆のアセンブリを含むようなことを含む。
  • 開発者ワークフロー: 我々自身の予想とは合わない、一般的なワークフローとそれをどのようにサポートするかを検討している。プレリリースパッケージの使用のような、我々が知っているワークフローもこの中に入っている。

NuGet は、Visual Studio 2010用の拡張モジュールで、.NETフレームワークを使うVisual Studioプロジェクトで、ライブラリやツールを追加したり、削除したり、アップデートするのが簡単になる。

この記事に星をつける

おすすめ度
スタイル

BT