c# - 如何更新编译器?

标签 c# compiler-errors .net-5 c#-9.0

所以,我刚刚在这台电脑上安装了net5。它是全新的,当我进入 PowerShell 并运行 csc -langversion:? 命令来检查它支持哪些版本的 C# 时,我收到以下消息:

Microsoft (R) Visual C# Compiler version 4.6.1038.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer v
ersions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240

warning CS2008: Nenhum arquivo de origem especificado
error CS1617: Opção '?' inválida para /langversion; deve ser ISO-1, ISO-2, 3, 4, 5 ou Default

不仅编译器不支持 C# 9.0,而且它也不会显示其应有的消息,如下所示:

default
1
2
3
4
5
6
7.0
7.1
7.2
7.3
8.0
9.0 (default)
latestmajor
preview
latest

正如我的昵称所示,我对编程之类的东西还很陌生,所以有人可以帮助我吗?

最佳答案

您说您安装了 .NET 5。但是您使用了 csc 命令,该命令不是 .NET 5 的一部分。该命令的输出甚至表明您使用 .NET Framework,它不是 .NET 5。

.NET 5 与 .NET Framework 不同。

所有 .NET 5 命令均使用 dotnet 调用。

dotnet --info 将告诉您是否安装了 .NET 5.0 SDK。如果您有 .NET 5 SDK,it will support C#, even if you can't directly query the language version .

关于c# - 如何更新编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67928536/

相关文章:

c# - 在 .NET 5 中生成 Microsoft Fakes 程序集

c# - linux 上的 ASP.NET CORE 5.0 TLS 1.2 问题但在 asp.net core 3.1 上正在运行

c# - 自动将接口(interface)注册到 autofac 中的类

c# - C# 中的 PropagationFlags 枚举 [访问控制条目 (ACE)]

c# - 我收到错误 : Additional information: Object reference not set to an instance of an object

generics - Vala 接口(interface)泛型编译器错误

c++ - 在 C 或 C++ 中,如何防止头文件中的前一个 #define 影响后来包含的另一个头文件?

c# - 在 LINQ 中,选择属性 X 的所有值,其中 X != null

compiler-errors - 较少,使用CSS网址中的变量编译问题

asp.net - 有没有办法在 blazor 中查看 razor 文件的 RenderTreeBuilder 版本?