2017-04-12 108 views
3

我有兩個包\項目「A」和「B」。其中「B」取決於「A」並將其用作參考。 當我在TFS中的構建過程構建「A」時,它將從nuspec創建一個nuget包並給它一個新版本,並將其放到我的TFS私有包中。如何自動更新nuget包的依賴關係?

我的問題是在每個「B」構建中創建一個定義良好的「B」包。在「B.nuspec」文件我寫了當前「A」包的版本:

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

當過我創建一個新的「A」包我更新「B」項目中使用新的「A」版本 - >這也會按預期更新最新的「A」版本的「packages.config」。 問題是,「B」的構建過程從nuspec文件創建「B」包,其中舊的依賴關係爲「A」。我希望它使用「packages.config」中的「A」版本。

有沒有一種自動的方式來做到這一點?(無需手動更改nuspec文件的每個新版本的「A」)我想創建一個小的「構建後」過程,從B->「packages.config」中讀取版本並將其寫入「B.nuspec 「文件在」A「依賴項部分。 TFS是否以更簡單的方式支持它?

回答

2

我添加了一個新的帖子構建事件,觸發一個腳本從「packages.config」文件中獲取版本並將它們寫回到nuspec文件。

我將腳本和帖子構建事件上傳到我的GIT,供任何需要它的人使用。

https://github.com/avrum/NuspecAutoUpdate

相關問題