繁体   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