【问题标题】:What will happen to the Microsoft.AspNetCore.* namespace in ASP.NET 5.0?ASP.NET 5.0 中的 Microsoft.AspNetCore.* 命名空间会发生什么?
【发布时间】:2020-09-04 00:58:09
【问题描述】:

.NET 5.0 将在 11 月发布时取代 .NET Core 3.x,因此,ASP.NET 5.0 将取代 ASP.NET Core 3.x。

编辑: 这个问题是基于一个根本不正确的假设。 .NET Core 的下一个版本实际上将是 .NET 5.0,而 ASP.NET Core 的下一个版本将是 ASP.NET Core 5.0。详情请参阅@Camilo-Terevinto@omajid 的答案。

尽管如此,从 Preview 8 (8.20414.8) 开始,包、程序集和命名空间的名称中仍包含 AspNetCore。例如,请参阅以下 NuGet 包:

如果您查看文档,例如docs.microsoft.com 上的 Microsoft.AspNetCore.Http.Features namespace,但是,您将被重定向回 ASP.NET Core 3.1 文档并显示警告:

请求的页面不适用于 ASP.NET Core 5.0 预览版。您已被重定向到此页面适用的最新产品版本。

问题: 我们是否有任何证据表明这些包、程序集和命名空间将在 .NET 5.0 版本中命名?他们是否会像当前的 namespaces 所建议的那样,保留Microsoft.AspNetCore 以实现向后兼容性?他们会变成Microsoft.AspNet 以与产品名称保持一致,正如文档 所建议的那样吗?或者这仍然是待定?


背景: 与其他开发人员一样,我正在开发 .NET 5.0 版本的开源库,为了熟悉起见,我们的目标是遵循与底层框架相同的命名约定,发现和一致性。

【问题讨论】:

  • 我没有对我的回答中的命名空间问题发表评论,因为文档中似乎存在问题:docs.microsoft.com/en-us/dotnet/api/?view=aspnetcore-5.0
  • 你有它的落后 - .NET 5 是 .NET Core 5 并取代了 .NET Old。 ASP.NET Core 命名空间不会去任何地方。 Core 部分出于营销目的已被删除,以减轻不想迁移到新版本的人们的恐惧
  • @PanagiotisKanavos:是的。请参阅第二段中的编辑。

标签: naming-conventions .net-5 asp.net-core-5.0


【解决方案1】:

因此,ASP.NET 5.0 将取代 ASP.NET Core 3.x。

这不准确,ASP.NET Core 5.0 将取代 ASP.NET Core 3.x。将改变的绰号是 .NET Core 到 .NET。 Migration guide ASP.NET Core 3.x to ASP.NET Core 5.0.

基本上:

  • .NET Framework 4.8 -> .NET 5
  • .NET Core 3.1 -> .NET 5
  • ASP.NET Core 3.1 -> ASP.NET Core 5

【讨论】:

  • 非常感谢!我在another thread 上提到了这一点,但我已经阅读了 ASP.NET Core 5.0 的每个预览版本的发行说明,完全忽略了他们始终将其标记为 ASP.NET Core 5.0,而不是 ASP.NET 5.0。如果我们不以批判的眼光阅读,我们的大脑如何能够准确地看到他们期望看到的东西,这是非常了不起的。
  • @JeremyCaney 不,这是一种协调一致的营销努力,让人们相信 .NET 5 在某种程度上是 .NET Old 的升级,而不是实际取代 .NET Old 的 .NET Core 版本。
  • @PanagiotisKanavos 我们会在几年后看到(也许更少?)下一个营销重命名工作是什么 :)
  • @PanagiotisKanavos:这正是 为什么我预计它会是 ASP.NET 5 而不是 ASP.NET Core 5!我不介意将其重命名为 .NET 5 的营销决定。我只是觉得 ASP.NET 仍然保持“核心”令人困惑。
  • @JeremyCaney 那么 ASP.NET MVC 5 呢?相同的版本号最终会同时指代 .NET Old 和 .NET Core 堆栈。有很多 ASP.NET 技术的版本会与 ASP.NET Core 冲突。最后,ASP.NET Core 可以在 .NET Old 以及 .NET Core 上运行到 2.x 版。
【解决方案2】:

因此,ASP.NET 5.0 将取代 ASP.NET Core 3.x。

不,不会。这是一个令人遗憾的混淆点,但事实并非如此。

让我quote David Fowler,谁是ASP.NET Core architects之一:

没有将 asp.net core 更改为 asp.net 的计划。

.NET Core 变为 .NET 5,但 ASP.NET Core 仍为 ASP.NET Core。

【讨论】:

  • 感谢您的澄清。我特别感谢 David Fowler 对这个精确问题的引用。虽然令人困惑,但这至少避免了我需要重命名许多包、程序集和命名空间以保持一致性。银衬里!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-03
  • 2018-08-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 2021-07-15
  • 2011-01-01
相关资源
最近更新 更多