.NET Core使用哪个C#版本?

Ale*_*xan 20 c# version .net-core c#-7.0 .net-core-2.0

我知道C#版本依赖于.NET Framework.

但.NET Core哪个版本使用?

特别是.NET Core 2?C#7?

Jul*_*eur 19

.NET Core 2.0 引用了 Roslyn 2.3,它对应于Visual Studio 2017版本15.3并支持C#7.1.

  • 每个项目都有一个LangVersion设置,默认为"默认",这意味着"最新主要版本"(本例中为C#7.0).如果要使用次要版本(例如C#7.1),则必须更改该设置.有关更多信息,请访问http://dontcodetired.com/blog/post/Using-C-71-Features (4认同)
  • @tpx86 我认为没有一种方便的方法可以从 dotnet cli 查看 C# 编译器的版本或它支持的语言版本。我在盒子上找到的最好的东西是这样的:`dotnet exec "c:\Program Files\dotnet\sdk\2.2.0-preview1-007622\Roslyn\bincore\csc.dll" -langversion:?`。这可能是一个有价值的 [cli](https://github.com/dotnet/cli) 问题/请求。 (2认同)

Sha*_*ane 11

C#的新页面列出了所有版本及其相关的Visual Studio和.NET核心版本:

  • C#7.3 Visual Studio 2017版本15.7,以及.NET Core 2.1 SDK 2.1.300 RC1
  • C#7.2 Visual Studio 2017版本15.5和.NET Core 2.0 SDK.
  • C#7.1 Visual Studio 2017版本15.3,以及.NET Core 2.0 SDK.
  • C#7.0 Visual Studio 2017和.NET Core 1.0及更高版本

您可以使用以下命令查看SDK版本:

dotnet --info
Run Code Online (Sandbox Code Playgroud)

输出:

.NET Core SDK (reflecting any global.json):
 Version:   2.1.300
 Commit:    adab45bf0c

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.13
 OS Platform: Darwin
 RID:         osx.10.13-x64
 Base Path:   /usr/local/share/dotnet/sdk/2.1.300/

Host (useful for support):
  Version: 2.1.0
  Commit:  caa7b7e2ba

.NET Core SDKs installed:
  2.1.300 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Run Code Online (Sandbox Code Playgroud)