【发布时间】:2018-06-21 13:48:48
【问题描述】:
我正在尝试将 .net core 2.1 项目升级到最新版本的 Nuget 包,例如 Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1。
但是,这被包引用 Microsoft.NETCore.App 阻止,当我尝试升级“元”包 Microsoft.NETCore.App 时,我看到类似于 this question 的“被项目阻止”。这已通过切换到较新版本的 SDK 来解决,但是这里不是一个选项...因为没有较新版本的 SDK(还没有?)。
我还看到 this answer 使用更新包参考手动编辑 .csproj 文件来升级特定包,但我怀疑这是这样做的预期方法。
应该我该怎么做呢?现在我只是手动包含了我实际使用的包引用并删除了元包,但我无法想象这是解决这个问题的预期方式。
【问题讨论】:
-
相关:twitter.com/DamianEdwards/status/1009137684898435073 整个被项目屏蔽是设计使然。 Asp.NET 包需要匹配的 SDK 才能正确运行。更新它们 oob 不是一种选择。
-
在此之前您可能需要阅读这里的信息 > github.com/aspnet/AspNetCore/issues/9097#issuecomment-517922943
-
... 以及来自docs.microsoft.com/en-us/nuget/consume-packages/… 的第 4 节(对于某些软件包,更新按钮被禁用,并出现一条消息,指出它是“由 SDK 隐式引用”(或“自动引用”)。这个消息表明该包是较大框架或 SDK 的一部分,不应单独更新...这适用于以下常用包:Microsoft.AspNetCore.All Microsoft.AspNetCore.App Microsoft.NETCore.App NETStandard.Library)
-
您的 cmets 可能会有所帮助,但您可能想阅读发布日期。尤其是年份位;)
标签: sdk .net-core nuget updates nuget-package