gpt4 book ai didi

c# - 如何创建 C# 8.0 控制台应用程序?

转载 作者:行者123 更新时间:2023-12-04 12:20:58 26 4
gpt4 key购买 nike

我尝试通过模板创建一个 Windows Forms .NET core 3.1 应用程序并将输出类型切换到控制台应用程序。

这是我的代码:

static class Program
{
static void Main()
{
System.Console.WriteLine(0 switch { 0 => "Hello World" });
}
}

当我编译时,我得到:

error CS8370: Feature 'recursive patterns' is not available in C# 7.3. Please use language version 8.0 or greater.



我的目标是 .NET Core 3.1。我认为默认情况下这会让我获得 C# 8.0 语言功能。显然我错了。

我该怎么办?

编辑:我使用的是 Visual Studio 2019 16.3.9

这是最让我困惑的部分,因为它说语言版本是“根据框架版本自动选择的”(我无法更改它。)我也没有看到为什么我不能的充分解释在 Why can't I select a different C# version? 更改语言版本该页面说如果我使用 .NET Core 3.x,我应该使用 C# 8.0。

enter image description here

.csproj 文件如下:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<ApplicationIcon />
<StartupObject>Program</StartupObject>
</PropertyGroup>

</Project>

添加此行可解决问题:
    <LangVersion>8.0</LangVersion>

但这真的是创建应用程序的唯一方法吗?我必须手动编辑我的 .csproj?为什么我不能更改语言版本,为什么它不会根据我使用 .NET Core 3.1 自动选择 C# 8.0?

最佳答案

打开你的 csproj,看看你是否有这样的一行

    <LangVersion>7.3</LangVersion>

如果是,请尝试删除它,如果这不起作用,请尝试将其更改为 8.0

关于c# - 如何创建 C# 8.0 控制台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59275816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com