首页 > 解决方案 > 一次更新 nuget 包及其所有依赖项

问题描述

我刚刚使用 Angular 项目创建了一个新的 .net 核心,并且已经有一些 NuGet 包,例如“Microsoft.AspNetCore.SpaServices.Extensions”,并提供了更新。

当我尝试更新它时,出现一个错误,表明与另一个包“Microsoft.ApNetCore.Mvc.Abstractions”存在版本冲突,要解决此问题,我需要安装或引用“Microsoft.ApNetCore.Mvc.Abstractions” “ 2.2.0,当我尝试安装它时,会出现关于另一个依赖项的类似错误等等。

有没有办法让 nuget 一次更新/安装所有这些依赖项,而不是我一个一个地安装它们?

标签: nugetvisual-studio-2019nuget-update

解决方案


有没有办法让 nuget 一次更新/安装所有这些依赖项,而不是我一个一个地安装它们?

通过命令行: 您可以下载nuget.exe,并将其存在的路径添加到Path系统环境变量中。然后你可以简单地nuget.exe直接引用。之后,您可以使用包管理器控制台nuget update YourSolution.sln中的命令来更新解决方案的依赖项。更多细节见马特在类似问题中的回答。感谢他!

在 VS IDE 中:Solution Explorer在=>中右键单击项目名称Manage Nuget Packages,在Updates lab 中您可以选择Select all packagesUpdateButton。

在此处输入图像描述

但是您可能需要知道的一点是,对于这种情况不建议您执行更新操作。

以上是回答你关于如何轻松更新或安装所有依赖项的问题。但实际上你不应该更新项目中的Microsoft.AspNetCore.SpaServices.Extensions包。您正在开发一个针对.net core 2.1而不是.net core 2.2. 所以新建的时候.net core2.1 with Angular project,模板中设计的这些nuget包,版本为2.1.X就足够了,不需要更新到.net core2.2或更高版本。

您在一个 asp .net core 2.1 项目中,它依赖于Microsoft.AspNetCore.App2.1.X,检查它的依赖项,您可以找到如下内容:

在此处输入图像描述

我认为这就是它抛出version conflicts错误消息的原因,那么在这种情况下更新包的特殊原因是什么?您可以在此处安装 .net core 2.2 SDK 。然后您可以创建以 .net core2.2 为目标的项目,并在您的项目中引用那些版本为 2.2.x 的 AspNetCore 相关包。如果我有什么误解,请随时纠正我:)


推荐阅读