2016-09-19 15 views
16

異なるチームがより大きい製品の異なる部分で作業するシナリオがあります。時には、すべてのソリューションのすべてのVisual Studioプロジェクトで、参照されているNuGetパッケージの一部を更新する必要があります。この更新の結果、ソースツリー全体のすべてのプロジェクトは、同じバージョンのパッケージを参照する必要があります。NuGet:PowerShellまたはCMDを使用して、すべてのプロジェクトの特定のバージョンにパッケージを更新します。

のPowerShellスクリプトのようないくつかの自動アプローチを使用して、すべてのプロジェクト内の特定のバージョンに固有のNuGetパッケージを更新する方法はありますか?

編集: Visual StudioとNuGetの必要な部分をどうにか読み込んでにアセンブリの参照を正しく更新する方法はありますか

例:

NuGetScript Update Solution.sln PackageName -version NewVersion 

または

NuGetScript Update PathToProjects PackageName -version NewVersion 

のVisual Studioでそれらのすべてをロードし、パッケージマネージャのUIを介して手動で更新するにはあまりにも多くのコンポーネントがあります。

+0

あなたは私が何をしたいかについての例を教えていただけますか? – saftargholi

答えて

7

あなたはあなたのソリューション内のすべてのプロジェクトファイルやpackages.configファイルを検索し、パッケージを更新するnuget updateコマンドを呼び出すためにPowerShellスクリプトを作成することができます。

ただし、更新パッケージは、Visual Studioの外で、私は、Visual Studioから、これを行うためにあなたを推薦する限界がある:

updateコマンドは パッケージフォルダにすべての新しいパッケージをダウンロードし、解凍します。アセンブリ参照はプロジェクト ファイルで更新されますが、これは既存の参照のみに限定されています。新しい パッケージにアセンブリが追加されている場合は、 updateコマンドの一部として追加されません。新しいパッケージの依存関係には、 アセンブリ参照が追加されません。完全な更新を実行するには、Visual Studioを使用します。

8

パッケージマネージャコンソールウィンドウで次のコマンドラインを使用して、特定のパッケージを1つのソリューションで更新してください。

Get-Project -All |アップデート・パッケージPackageNameの-Version NEWVERSION

+0

PowerShellからこのコマンドを呼び出すにはどうすればよいですか? –

+0

これはパッケージマネージャコンソールコマンドです。これは、Visual Studioのパッケージマネージャコンソールウィンドウで実行する必要があります。 –

+0

これは受け入れられる回答である必要があります。 – UserControl

関連する問題