【发布时间】:2019-04-04 00:50:03
【问题描述】:
我正在创建一个 .NET 标准包,其中包含 Microsoft.AspNetCore.Http nuget 包的 2.1.1 版。
我需要将此 nuget 添加到我们所有的核心项目中,并将其添加到相同版本的测试核心项目中,效果很好,但是当我尝试将其添加到 Microsoft 2.0.6 版本的项目中时.AspNetCore.All 和我遇到版本冲突
用身份“Nuget.Project”组装“Nuget.Project”, 版本=1.0.0.0,文化=中性,PublicKeyToken=null' 使用 'Microsoft.AspNetCore.Http.Abstractions,版本=2.1.1.0, Culture=neutral, PublicKeyToken=xxxxx' 版本高于 引用程序集“Microsoft.AspNetCore.Http.Abstractions” 身份 'Microsoft.AspNetCore.Http.Abstractions,版本 = 2.0.3.0, Culture=neutral, PublicKeyToken=xxxxxx'
出于隐私原因,我将令牌更改为 x,并替换了项目名称。
我的 Nuget 正在访问 HttpContext,因此我需要其中的核心。我不知道如何让 nuget 包可以放在旧版本上。
【问题讨论】:
-
2.0.6 已过时。您必须将该项目从 .NET Core 2.0 升级到 2.1,这正是发生冲突的原因。
-
Lex,谢谢你的评论。有什么办法可以提高兼容性,使其适用于所有 ASP Core 2.X 项目?这是一个适用于我们所有应用程序的 nuget,如果我们必须在创建新项目时升级所有项目,然后必须将此 nuget 升级到最新的核心,然后必须升级所有其他项目到最新的核心。
-
在这里谈“ASP.NET Core 2.X”是没有意义的,因为你今天只能使用2.1(2.0已经过时,2.2只是预览版)。
-
另外,我不会说 2.0.6 已经过时,它只有半年的历史,并且仍然受到 Microsoft 的支持。如果我有一个 ASP Core 1.0 应用程序,那么我会看到更多,但它只是落后于 .1 版本
-
blogs.msdn.microsoft.com/dotnet/2018/06/20/… 前提是您从未阅读过生命周期公告和政策。
标签: c# .net asp.net-core nuget .net-standard