Как да попречим на nuget да се върне към по-стари версии на зависими пакети при актуализиране на пакет

Когато актуализирате пакет 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.

Разделът за зависимости на nuspec файла на пакета Web.CMS е както следва, както можете да видите, зависимите версии на пакета са тези, които са били инсталирани като част от актуализацията на пакета.

<dependencies>
   <dependency id="Core" version="6.1" />
   <dependency id="Web" version="6.0" />
   <dependency id="Cms.Assemblies" version="[6.0.530,7)"/>
</dependencies>

Има ли начин да актуализирате пакет без зависимите пакети да се връщат към по-стари версии, както се случва тук? Можем да го направим, като деинсталираме пакета и инсталираме новата версия, но това е идеално, тъй като някои пакети се използват от няколко проекта в едно решение и това трябва да се направи за всеки проект поотделно.


person Jason    schedule 28.07.2014    source източник
comment
Бих опитал няколко комбинации от опциите -IgnoreDependencies и -IncludePrerelease за Update-Package, за да видя какъв е ефектът.   -  person Matt Ward    schedule 28.07.2014
comment
Актуализирайте NuGet. Това поведение беше коригирано в скорошна версия.   -  person dodexahedron    schedule 28.07.2014
comment
Използвам най-новата версия, 2.8.5. Разбирам, че това връщане към най-старата версия е въведено във v2.8   -  person Jason    schedule 29.07.2014


Отговори (1)


Това беше коригирано чрез включване на превключвателя -IgnoreDependencies:

Update-Package web.CMS -version 6.5.0-develop-140728152 -IgnoreDependencies

person Jason    schedule 29.07.2014