次の方法で共有


NuGet 1.8 リリース ノート

NuGet 1.7 リリース ノート | NuGet 2.0 リリース ノート

NuGet 1.8 は 2012 年 5 月 23 日にリリースされました。

インストールに関する既知の問題

VS 2010 SP1 を実行していて、NuGet の以前のバージョンがインストールされている場合、NuGet をアップグレードしようとするとインストール エラーが発生する可能性があります。

NuGet をアンインストールしてから、続いて、VS 拡張情報ギャラリーから単にインストールするという回避策があります。 詳細については、https://support.microsoft.com/kb/2581019を参照してください。または、VS 修正プログラムに直接アクセスしてください

注: Visual Studio で拡張情報をアンインストールできない場合 ([アンインストール] ボタンが無効になっている) は、[管理者として実行] を使用して Visual Studio を再起動する必要があります。

NuGet 1.8 は Windows XP と互換性がなく、修正プログラムが公開されました

NuGet 1.8 がリリースされて間もなく、当社は、1.8 の暗号化の変更により、Windows XP のユーザーが機能しなくなったことを認識しました。

その後、この問題に対処する修正プログラムをリリースしました。 Visual Studio 拡張情報ギャラリーから NuGet を更新すると、この修正プログラムを受け取ります。

機能

ローカライズされたリソースのサテライト パッケージ

NuGet 1.8 では、.NET Framework サテライト アセンブリ機能と同様に、ローカライズされたリソースに対して個別のパッケージを作成できる機能がサポートされるようになりました。 サテライト パッケージは、他の NuGet パッケージと同じ方法で作成されますが、いくつかの規則が追加されています。

  • サテライト パッケージ ID とファイル名には、.NET Framework で使用される標準カルチャ文字列のいずれかと合致するサフィックスを含める必要があります。
  • サテライトパッケージの .nuspec ファイルでは、ID で使用されているのと同じカルチャ文字列を持つ言語要素を定義する必要があります
  • サテライト パッケージは、その.nuspecファイル内で、コア パッケージへの依存関係を定義する必要がありますが、これは、単に同じ ID から言語サフィックスを引いたパッケージです。 インストールを成功させるには、コア パッケージがリポジトリ内で使用可能である必要があります。

ローカライズされたリソースが含まれたパッケージをインストールするには、開発者は、リポジトリからローカライズされたパッケージを明示的に選択する必要があります。 現時点では、NuGet ギャラリーでは、サテライト パッケージに対して特別な処理を行っていません。

Package manager dialog with localized pacakges

サテライト パッケージにはコア パッケージへの依存関係がリスト表示されるため、サテライト パッケージとコア パッケージの両方が NuGet パッケージ フォルダーにプルされ、そしてインストールされます。

Packages folder with localized packages

さらに、サテライト パッケージをインストールしている間に、NuGet はカルチャ文字列の名前付け規則も認識し、ローカライズされたリソース アセンブリをコア パッケージ内の適切なサブフォルダーにコピーして、.NET Framework で選択できるようにします。

Core package folder with copied resource folder

サテライト パッケージで注意すべき既存のバグの 1 つは、NuGet がローカライズされたリソースを Web サイト プロジェクトのbinフォルダーにコピーしないことです。 この問題は、NuGet の次のリリースで修正される予定です。

サテライト パッケージの作成方法と使用方法を示す完全なサンプルについては、https://github.com/NuGet/SatellitePackageSampleを参照してください。

NuGet 1.8 では、ユーザーのプライバシーを保護するために、パッケージの復元に関する重要な制約をサポートするための基盤を築きました。 この制約により、パッケージの復元を使用するプロジェクトとソリューションをビルドする開発者が、構成されたパッケージ ソースからパッケージをダウンロードするためにパッケージの復元がオンラインになることに明示的に同意する必要があります。

これを処理するための一般的な方法が 2 つあります。 1 つ目は、次に示すように、パッケージ マネージャーの構成ダイアログで参照してください。 このメソッドは主に、開発者のマシンを対象としています

Package manager configuration dialog

2 番目の方法は、環境変数「EnableNuGetPackageRestore」を値 “true”に設定することです。 このメソッドは、CI やビルド サーバーなどの非アテンド型マシンを対象としています。

前述のとおり、NuGet 1.8 内では、当社はこの機能の基盤を築いたにすぎません。 実際には、機能を有効にするために、当社はあらゆるロジックを追加しましたが、現在、これは、このバージョンでは適用されていないことを意味します。 ただし、NuGet の次のリリースで有効になるため、環境を適切に構成できるように、できるだけ早くお知らせして、同意制約の適用を開始したときに影響を受けないようにしたいと考えています。

詳細については、この機能に関するチームのブログ投稿を参照してください。

nuget.exe のパフォーマンスの向上

パッケージを並列にダウンロードしてインストールするように install コマンドを変更することで、NuGet 1.8 では、nuget.exe と拡張情報パッケージの復元によるパフォーマンスが大幅に向上します。 高レベルのテストでは、NuGet 1.8 ではプロジェクトに 6 つのパッケージをインストールするパフォーマンスが約 35% 向上することが示されています。 パッケージ数を 25 に増やすと、パフォーマンスが約 60% 向上します。

バグの修正

NuGet 1.8 には、パッケージ マネージャー コンソールとパッケージ復元ワークフロー (特にパッケージ復元の同意と Windows 8 Express 統合に関連する) に重点を置いた、多数のバグ修正が含まれています。 NuGet 1.8 で修正された作業項目の全リストについては、[NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%201.8&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)を参照してください。