次の方法で共有


NuGet 2.0 リリース ノート

NuGet 1.8 リリース ノート | NuGet 2.1リ リース ノート

NuGet 2.0は2012 年 6 月 19 日にリリースされました。

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

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

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

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

パッケージの復元の同意に関するこの投稿で説明されているように、NuGet 2.0 では、パッケージの復元をオンラインにしてパッケージをダウンロードできるようにするために同意する必要があります。 パッケージ マネージャー構成ダイアログまたは EnableNuGetPackageRestore 環境変数を使用して同意したことを確認してください。

ターゲット フレームワークによる依存関係のグループ化

バージョン 2.0 以降では、パッケージの依存関係は、ターゲット プロジェクトのフレームワーク プロファイルによって異なる場合があります。 これは、更新 .nuspec されたスキーマを使用して実現されます。 <dependencies> 要素は、<group> 要素のセットを格納します。 各グループに0 個以上の<dependency>要素とtargetFramework 属性が含まれます。 ターゲット フレームワークにプロジェクトのフレームワーク プロファイルとの互換性がある場合、これらのグループ内依存関係が一緒にインストールされます。 次に例を示します。

<dependencies>
    <group>
        <dependency id="RouteMagic" version="1.1.0" />
    </group>

    <group targetFramework="net40">
        <dependency id="jQuery" />
        <dependency id="WebActivator" />
    </group>

    <group targetFramework="sl30">
    </group>
</dependencies>

グループには 0個の依存関係を含めることができます。 上記の例で、パッケージが Silverlight 3.0 以降を対象とするプロジェクトにインストールされていると、依存関係はインストールされません。 パッケージが.NET 4.0 以降を対象とするプロジェクトにインストールされている場合は、jQuery と WebActivator という 2 つの依存関係がインストールされます。 パッケージがこれらの 2 つのフレームワークまたはその他のフレームワークの初期バージョンを対象とするプロジェクトにインストールされている場合、RouteMagic 1.1.0 がインストールされます。 グループ間の継承はありません。 プロジェクトのターゲット フレームワークがグループのtargetFramework属性と一致する場合、そのグループ内の依存関係のみがインストールされます。

パッケージは、<dependency>要素またはグループのフラット リストの旧形式の2つの形式のいずれかでパッケージの依存関係を指定できます。 <group>形式が 使用されている場合、2.0 より前のバージョンの NuGet にパッケージをインストールすることはできません。

2 つの形式の混在は許可されないことに注意してください。 例えば、次のスニペットは 無効 であり、NuGet によって拒否されます。

<dependencies>
    <dependency id="jQuery" />
    <dependency id="WebActivator" />

    <group>
        <dependency id="RouteMagic" version="1.1.0" />
    </group>
</dependencies>

ターゲット フレームワークによる内容ファイルと PowerShell スクリプトのグループ化

アセンブリリファレンスに加えて、内容 ファイルと PowerShell スクリプトをターゲット フレームワーク別にグループ化することもできます。 ターゲット フレームワークを指定するためのlibフォルダー内の同じフォルダー構造を、contenttoolsフォルダーで同じ方法で適用することができるようになりました。 次に例を示します。

\content
    \net11
        \MyContent.txt
    \net20
        \MyContent20.txt
    \net40
    \sl40
        \MySilverlightContent.html

\tools
    \init.ps1
    \net40
        \install.ps1
        \uninstall.ps1
    \sl40
        \install.ps1
        \uninstall.ps1

: init.ps1 はソリューション レベルで実行され、プロジェクトに依存しないため、tools フォルダーの下に直接置く必要があります。 フレームワーク固有フォルダーに配置された場合は無視されます。

また、NuGet 2.0 の新機能は、フレームワーク フォルダーをEmptyにできることです。そのケースで、NuGet はアセンブリリファレンスを追加したり、コンテンツの追加 ファイル、特定のフレームワーク バージョンの PowerShell スクリプトを実行したりしません。 上記の例で、フォルダー content\net40 はEmpty。

Tab完了済みのパフォーマンスの改善

パフォーマンスを大幅に改善させるために、NuGet パッケージ マネージャー 管理コンソールのTab完了済み機能が更新されました。 Tab キーが押されてから候補のドロップダウンが表示されるまでの遅延が大幅に少なくなります。

バグ修正

NuGet 2.0 には、パッケージ復元するに同意するとパフォーマンスを強調した多くのバグ修正を含む。 NuGet 2.0 で修正された作業項目の全リストについては、[NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%202.0&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)を参照してください。