私は250を超えるプロジェクトからなる大規模なソリューションを開発しています。 Visual Studio Nuget UIまたはNugetコマンドラインツールのいずれかを使用している場合、これらのすべてのプロジェクトで使用される共通のNugetパッケージを更新するには、2〜3時間かかります。私は手動でファイルを更新することでこれをより迅速に行う方法を探しています。Nuget UIやコマンドラインツールを使用せずに手動でNugetパッケージを更新する方法
私の最初の考えは、各プロジェクトの*.config
ファイルでパッケージのバージョン番号を更新するだけでした。たとえば、検索および
<package id="ThisPackage" version="0.0.0.2" targetFramework="net452" />
で
<package id="ThisPackage" version="0.0.0.1" targetFramework="net452" />
を置き換えるこれは実際にあなたがVS Nuget UIを介してアップデートを実行するときに、私はこれをやって、その後、ソリューションを再構築することは取るだろうと思った何が起こるかのようですすべての気にしてください。手作業で依存関係をpackage.json
に編集し、ノードでnpm install
を実行しているような感じです。
これは機能しません。設定ファイルがNugetによって更新されたときのやり方で、.csprojファイル内の参照が更新されることはありません。
私は手動で
<HintPath>..\..\packages\ThisPackage.0.0.0.2\
で
<HintPath>..\..\packages\ThisPackage.0.0.0.1\
を見つけると置き換えることにより、例えば、同様.csprojファイルを更新する可能性がしかし、おそらく、私はまた、参照アセンブリのバージョンを更新する必要があると私は」特定のバージョンのNugetパッケージのためにどのようにすべきかを理解する方法がわかりません。さらに、3時間のデッドタイムの代わりに約30時間の作業をしていますが、現時点ではちょっと混乱し、エラーを起こしやすいです。
複数の時間がかからないソリューションで、多数のプロジェクトにわたってNugetパッケージを更新する方法が見つかったことはありますか?
Visual Studioを最初に閉じる限り、Nuget cliを使用してパッケージを更新する方がはるかに迅速です。私の場合は約5分かかります。例えば'nuget update -id Package.Id mysolution.sln' –