macos上的CSC未列出C#9
c#
c#-9.0
我已更新到最新的 .NET 5 SDK 5.0.101,但似乎 CSC 编译器不知道 C# 9 的存在。我尝试在 Visual Studio Code 和 Visual Studio Mac 中使用 C# 9 功能(如初始化设置器)(也在 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。
- So for now there is no way to use C#9 with appcenter ?