簡體   English   中英

更新軟件包時如何防止nuget還原到從屬軟件包的舊版本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM