[英]How to prevent nuget from reverting to older versions of dependent packages when updating a package
將nuget軟件包更新到新版本時,將刪除正在更新的軟件包的依存關系,並將其恢復為這些依存軟件包的最低允許版本。 程序包管理器控制台輸出如下:
Update-Package web.CMS -version 6.5.0-develop-140728152
Updating 'Web.CMS' from version '6.5.0-Trunk-1406031714' to '6.5.0-develop-1407281525' in project 'App.Cms'.
Remove 'Web.CMS 6.5.0-Trunk-1406031714' from project App.Cms.
Remove 'Cms.Assemblies 6.1.379' from project App.Cms.
Remove 'Web 7.3.0' from project App.Cms.
Remove 'Core 8.0.0-Trunk-1406251804' from project App.Cms.
Add 'Core 6.1.0' to project App.Cms.
Add 'Web 6.0.0' to project App.Cms.
Add 'Cms.Assemblies 6.0.530' to project App.Cms.
Add 'Web.CMS 6.5.0-develop-1407281525' to project App.Cms.
Web.CMS程序包nuspec文件的“依賴項”部分如下所示,因為您可以看到,依賴程序包的版本是作為軟件包更新的一部分安裝的。
<dependencies>
<dependency id="Core" version="6.1" />
<dependency id="Web" version="6.0" />
<dependency id="Cms.Assemblies" version="[6.0.530,7)"/>
</dependencies>
有沒有一種方法可以更新軟件包,而無需將依賴軟件包還原為較早的版本(如此處所示)? 我們可以通過卸載軟件包並安裝新版本來做到這一點,這是理想的選擇,但是,由於某個解決方案中的多個項目使用了某些軟件包,因此必須針對每個項目單獨完成。
通過包括-IgnoreDependencies開關來解決此問題:
Update-Package web.CMS -version 6.5.0-develop-140728152 -IgnoreDependencies
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.