什么是 .net vNext?.net Core 和 vNext 有什么不同/解释。

12

嗨,我目前正在参与一个使用PCL库的项目,我们正在将所有内容迁移到.NET标准中。我正在阅读关于.NET标准的信息,包括它是什么、不是什么、支持什么或不支持什么,然后我遇到了著名的版本/平台表格(更多信息)。

enter image description here

我不明白的是:什么是vNext?我以为我理解了它,但我认为我是错的,实际上我无法在任何地方甚至Microsoft博客/网站中找到答案。 我以为它是具有一些新功能和改进的框架的新版本,比如编译成本地代码和新的ryujit等等... 但每次我搜索vnext时,我总是看到ASP.Net vNext,从来没有.NET vNext,而ASP是构建页面等web内容的东西。但根据上面的表格,.NET标准1.6版支持vNext,这是一个框架。

如果我查看此页面,我看不到任何.NET vNext。

  • 有人能解释一下这个vNext到底是什么吗?
  • 我该如何下载它并使用它?
  • Microsoft是否放弃了vNext的名称来使用.NET Core?
  • 假设我想创建一个CLI vnext项目,我该怎么做?
  • 我已经安装了.NET Core,如果我创建一个新的.NET Core控制台应用程序,例如我没有看到编译为本机的选项,因此我认为这不是vNext!


7
在这张表格中,“vNext”只是一个泛称,表示“我们决定如何称呼下一个版本的东西”。所以对于.NET Framework而言,“vNext”可以是4.6.3或4.7.0甚至是5.0,但无论它是什么,都将支持.NET Standard 1.6配置文件。 - Jeroen Mostert
我投票关闭此问题,因为提问者只是对一种简写方式感到困惑,与主题无关。 - Liam
那么,“将 .net 编译为本机代码”和“新的 JIT”在这里的中间位置在哪里,如果 vNext 只是指未来版本的话? - user1845593
1
.NET Native 是独立的东西,与此表格无关。它是用于 .NET Framework 和 UWP 应用程序的编译选项。RyuJIT(如果您所说的“新JIT”就是这个)是 .NET Framework 4.6 及以上版本中的 jitter。编译/Jitting 并不是 .NET Standard 关注的问题,它关注的是提供一致的 API。 - Jeroen Mostert
1个回答

6
“vNext”只是一个占位符,表示“未来版本号是什么,我们尚未决定”。它不是您可以下载或构建的特定“版本”。如果您查看https://learn.microsoft.com/en-us/dotnet/standard/library中的表格,您会看到一些“vNext”值已填充,因为版本号已经确定。

enter image description here

如果您真正想使用“vNext”来构建项目,您需要获取所需平台的最新开发分支的源代码,编译它(或找到一个预发布版本,已经进行了预编译),然后使用该预发布版本来构建您的项目。
对于“Compile to .NET Native”和“RyuJit”功能,这些是Roslyn编译器的功能,并且与Visual Studio 2015及更高版本捆绑在一起。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接