.NETPlatform与.NETStandard

时间:2016-11-05 19:41:50

标签: .net asp.net-core nuget .net-core

我现在对.NET中平台的术语感到很困惑 - 在我们拥有PCL之前,我曾经理解它。

我找到了以下文件:

对于初学者来说,第一个文档是指概念平台,其名称为" netstandard"作为" .NET平台标准"。后者称之为“.NET标准”和#34; (同时它引入了一个新的" .NET标准库")。

我真的不明白为什么第一个文档在顶部有一个免责声明,第二个文档描述了后续概念:似乎至少显示版本关联的表格在第一个文档中更新。

那么概念之间的区别是什么?#34; .NET平台标准"和#34; .NET标准库"?描述所谓新概念的第二个文档中的表只显示了基本上是旧表的内容,而没有为这个新的" .NET标准库" - 好像概念毕竟是一样的。免责声明真的只是建议重命名吗?

NuGet增添了更多神秘感:

Json.NET NuGet包有一个名为" .NETStandard" (显然NuGet使用第三个绰号作为其中之一)并且我认为这应该和" netstandard"相同;对吧?这实际上是" .NET平台标准",对吗?

Microsoft.AspNet.Mvc包的RC有一个名为" .NETPlatform 5.4"的目标。那是什么?它的调用方式不同,其版本太高,无法与.NET平台标准版或.NET标准库有任何关系,无论两者之间的关系如何。嗯。

有人知道所有这些真正意味着什么吗?

编辑:

我设法弄清楚了一点:正如Lex Li所说,Microsoft.AspNet.Mvc的rc版本已经不存在了。它使用了短名字" dotnet5.4",它在第一个文档中确实被引用为已弃用并被称为#34; .NET平台"好久不过目前最新版本的软件包大概是名为" Microsoft.AspNetCore.Mvc",它仅指非停止使用的目标名称。

因此,解决问题的NuGet部分,此时我的理论是" .NET标准库"只是重命名之前称为“.NET平台标准”的#34;。这就留下了术语" .NET平台",当版本计数未被重置为" 1"时,我怀疑它是这些东西的一个更老的名称。为了一切。

也许知道这些事情的人可以证实或纠正这一点。

1 个答案:

答案 0 :(得分:3)

你说得对,.NET平台标准的概念已经被.NET Standard取代(基本上是重命名)。 .NET标准和.NET标准库本质上也指同一个概念。

您在这里看到的NuGet标记只是.NET标准演变的遗迹。目前的观众是:

  • netstandard.x:指.NET标准的特定版本
  • netcoreapp1.x:指的是针对a的.NET Core应用程序 特定版本的.NET Core

查看新的.NET标准GitHub repository,尤其是docs,了解有关最新.NET标准开发的更多信息。