2014-08-28 61 views
0

我有以下結構的VS2013解決方案:如果一個人決定更新使用SharedCode 1.54升壓一個版本的NuGet包每個解決方案(但不是最新)

MyProject.sln 
-> MyProject.vcxproj // depends on SharedCode 
    -> packages.config // depends on boost 1.49 
-> SharedCode.vcxproj // library developed at another repo, i just merge sometimes or apply local fixes 
    -> packages.config // alse depends on boost 1.49 

,就會出現問題。 當我合併我需要手動檢查版本是否已更改,並手動更新我的依賴關係。 如果我運行更新包 - 我會得到最新版本,這是不可接受的。 有沒有辦法解決這個問題?

回答

1

Update-Package有一個可以使用的版本參數,因此它將所有項目中的軟件包更新到該版本,而不是最新版本。

Update-Package MyPackage -Version 1.1.0 
+0

它有,但無論如何,問題是我不知道何時版本在SharedCode中更改。我需要每次合併時手動檢查一次。這是非常不方便和容易出錯的。 – kubivan 2014-08-30 22:13:49

+0

是的。 NuGet沒有內置任何內容來自動檢查你。使用NuGet,您需要檢查packages.config或查看「管理包」對話框中的包或使用PowerShell控制檯。爲了實現這一點,你需要自己實現它。您可以使用自定義的MSBuild任務或預先構建步驟來檢查軟件包版本是否一致。 – 2014-08-31 10:04:58

相關問題