2

packagesフォルダーをソース管理から除外できるように、NuGet Package Restore を利用するようにソリューションを移動しようとしています。ただし、適切に実装する方法については混乱があります。

  1. 現在packages、TFS にフォルダーがあります。NuGet パッケージの復元の変更をコミットする前に、フォルダーを削除する必要がありますか?
  2. .nugetフォルダーをソース管理にコミットする必要がありますか? この記事では、削除するように指示して.NuGet.exeNuGet.targetsます。
  3. NuGet Package Restore を使用すると、TFS でビルドが壊れますか? (ゲート付きチェックインなど)
4

2 に答える 2

2
  1. はい。
  2. より適切なオプションは、Package Restore Migrationスクリプトを使用することです。私はそれを数回使用しましたが、それは美しく機能します。NuGet.exe、NuGet.targets を削除し、(非常に重要なことですが) プロジェクト ファイルをクリーンアップして、NuGet.targets ファイルへの参照を削除します。NuGet.targets を削除するだけでは、ビルドが壊れます。
  3. 非常に密接にリンクした記事で概説されている手順に従えば、NuGet パッケージの復元によってビルドが壊れることはありません。もちろん、ビルド サーバーは nuget.org にアクセスできるようにインターネットにアクセスする必要があります。ビルド サーバーがロックされていて、インターネットにアクセスできない場合、パッケージの復元は確実に機能しません。

パッケージ復元移行スクリプトを実行する前に、必ず Visual Studio を閉じてください。ソリューションを開いた状態でスクリプトを実行すると、正しく動作しないことがわかりました。

Git を使用している場合は、packages フォルダーを .gitignore に追加します。TFVC を使用している場合は、NuGet.config ファイルのdisableSourceControlIntegrationキーが に設定されていることを確認してくださいtrue

于 2015-02-25T01:38:30.963 に答える
1

Visual Studio 2013 update 3 以降では、Nuget パッケージの復元が既定であり、有効にする必要はありません。

/packages フォルダーを削除してチェックインすると、追加の作業を必要とせずに自動的に読み込まれます。

はい: nuget.targets と .nuget フォルダーを削除します。

于 2015-02-24T19:32:43.040 に答える