c# - macos 上的 CSC 未列出 C# 9

标签 c# macos visual-studio-code c#-9.0

我已更新到最新的 .NET 5 SDK 5.0.101,但似乎 CSC 编译器不知道 C# 9 的存在。我尝试在 Visual Studio Code 和 Visual Studio Mac 中使用 C# 9 功能(如初始化 setter )(也在 Rider 中),并且它们可以工作,所以我知道 C# 9 在那里。但是,如果我运行“csc -langversion:?”它最多只列出 8.0。如果我明确尝试将 langversion 设置为 9.0(或只是“9”),我会收到如下错误:Invalid option '9.0' for /langversion. Use '/langversion:?' to list supported values所以我想知道我的环境是否可能没有正确配置。我的意思是,事情似乎正在运行,但我对输出中缺少的 lang-version 感到有些困惑,想知道这是否可能表明我当前的安装存在一些问题。有什么建议?
我正在运行 macos 10.15.7 (Catalina) 并且如上所述安装了最新的 .NET SDK。

最佳答案

有两个运行时:Mono 和 Dotnet。它们都附带 MSBuild 和 C# 编译器。
当您键入 Csc 时,我猜您正在使用 Mono C# 编译器,该编译器尚未更新到 C# 9。
dotnet 中的编译器和 MSBuild 都已更新,因此使用 dotnet build应该工作正常。
还有 Visual Studio Mac 中的 IDE 支持(不同于命令行构建,它有自己的 MSBuild 和 C#)。最新的 Visual Studio Mac(8.8 及更高版本)也支持 C# 9。

关于c# - macos 上的 CSC 未列出 C# 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65309660/

相关文章:

visual-studio-code - 在vscode提供的WebView中播放声音

c# - 我不明白纯委托(delegate)和事件字段之间的区别

visual-studio-code - 双击打开文件不适用于 Visual Studio Code

java - Java中的C#BigInteger等效项

c - 使用 C 中的 undelete() 恢复已删除的文件

macos - 执行后退出终端

apache-flex - 错误 #3219 AIR 中的 NativeProcess

c++ - 如何在 Visual Studio Code 中构建和运行 C++ 代码?

c# - Windows Phone 上的绑定(bind)项目列表

c# - 如何确定 "x[]"可能抛出哪些异常?