2017-03-03 60 views
4

的文档microsoft.net.compilers包(在https://www.nuget.org/packages/Microsoft.Net.Compilers/)表示microsoft.net.compilers包中的编译器版本是什么?

的.Net编译器包。引用该软件包将导致 项目使用该软件包中包含的特定版本的C#和Visual 基本编译器构建,而不是任何系统 安装的版本。

......这引出了一个问题:软件包中的编译器版本是什么?

该页面说它支持.NET框架4.5,但这不是编译器版本,是吗?

该软件包有几个版本。然后我假设包的不同版本可能包含不同版本的编译器。是否有某个表格指定每个软件包版本中的哪个编译器版本?

我猜这个软件包包含c#和vb编译器,但我只对c#感兴趣。

+0

6版是显而易见的数量,应该还是对非beta版本。但是现在第7版将在下周发布,希望他们能够开始记录它。 –

+0

@hans passant:这是有道理的。更深层次,我假设每个软件包版本都有不同的编译器_minor_版本。也许这是一个不重要的细节。也许我们应该使用最新版本 - 假设它完全兼容,并且在某种程度上比上一个小版本更好。 – steve

+0

C#只有主版本号更改,次版本一直为0.也许你不应该为此烦恼太多,最近实际的语法变化是相当温和的,无论你使用的嵌入式编译器应该总是能够从显示的错误消息中告诉他他试图使用不可用的语法。 –

回答

3

我不知道是否回答你的问题,但这里是我的理解:

  • 版本1.x平均C#6.0(Visual Studio的2015年和更新)。例如,1.3.2对应于Visual Studio 2015的最新更新(更新3)。
  • 版本2.0表示C#7.0(Visual Studio 2017版本15.0)。
  • 版本2.1仍然是C#7.0,但有一些修复(Visual Studio 2017版本15.1)。
  • 版本2.2仍然是C#7.0,但有一些修补程序(Visual Studio 2017 15.2版)。
  • 版本2.3意味着C#7.1(Visual Studio 2017版本15.3)。

对于语言的功能,请参阅https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md

+0

小心分享此信息的来源?这将有助于保持最新状态。 –

+0

目前没有更具权威性的来源。我正在跟踪这个[文档问题](https://github.com/dotnet/roslyn/issues/19659)。就目前而言,编译器/ Roslyn团队不幸的是部落知识。 –

+0

啊,没有意识到你是在球队!谢谢(你的)信息。 –

相关问题