2017-04-12 14 views
3

私は2つのパッケージ\プロジェクト "A"と "B"を持っています。 "B"は "A"に依存しており、それを参考にしています。 TFSの私のビルドプロセスが "A"をビルドしているとき、それはnuspecからnugetパッケージを作り、それに新しいバージョンを与えて、私のTFSプライベートパッケージに入れます。Nugetパッケージの依存関係を自動的に更新する方法は?

私の問題は、すべての "B"ビルドで明確に定義された "B"パッケージを作成することです。私は現在の「A」のパッケージのバージョンを書き、「B.nuspec」ファイルでは:

<dependencies> 
    <group targetFramework=".NETFramework4.5"> 
     <dependency id="A" version="[1.0.0.3]" /> 
    </group> 
</dependencies> 

今まで私が使用するために、「B」プロジェクトを更新しています新しい「A」のパッケージを作成していた場合新しい "A"リリース - >これはまた、 "packages.config"を期待通りに最新の "A"バージョンで更新します。 問題は、 "B"のビルドプロセスが、 "A"の古い依存関係を持つnuspecファイルから "B"パッケージを作成することです。。そして、 "packages.config"の "A"バージョンを使用します。

自動的に行う方法はありますか?(nuspecファイルを "A"の新しいバージョンごとに手動で変更する必要はありません)私は小さな "Post-Build"プロセスを作成してB-> "packages.config"からバージョンを読み込み、 "B.nuspec "ファイルは" A "依存セクションにあります。 TFSは簡単な方法でサポートしていますか?

答えて

2

"packages.config"ファイルからバージョンを取得し、それらをnuspecファイルに書き戻すスクリプトを起動する新しいポストビルドイベントを追加しました。

私はGITにスクリプトとポストビルドイベントをアップロードして、誰でも必要になります。

https://github.com/avrum/NuspecAutoUpdate

1

この質問は、あなたがそれを達成するための定義を構築/ビルドプロセスに(たとえば、PowerShellスクリプトなど)の新しいビルドステップを追加する必要があり、あなたのNuGetパッケージを自動更新し、ビルド時にCannot automatically update a NuGet package to the latest version during build

に似ています。

+0

まあそれは私がこの質問に行われた後のイベントスクリプトを追加しました。..その類似していないのです。ありがとう –

関連する問題