C#12主构造函数特性编译失败,求问题排查方案
解决C#12主构造函数编译错误问题
针对你遇到的「Class cannot have a primary constructor」编译错误,可按以下步骤排查解决:
显式指定C#语言版本
虽然.NET 8.0默认对应C#12,但部分场景下需要在项目配置文件(csproj)中显式声明语言版本。修改你的csproj文件,在<PropertyGroup>节点内添加:<LangVersion>12.0</LangVersion>修改后的完整配置如下:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net8.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <LangVersion>12.0</LangVersion> </PropertyGroup> </Project>验证Visual Studio项目语言版本设置
右键项目 → 选择「属性」→ 切换到「生成」标签页 → 点击右下角「高级」按钮 → 在弹出的窗口中确认「语言版本」选择为「C# 12.0」或「最新主要版本」。清理并重建项目
执行「生成」→「清理解决方案」,然后重新生成项目,避免缓存导致的配置不生效问题。确认.NET SDK版本
打开控制台运行dotnet --version,确保输出为8.0.100或更高的.NET 8正式版SDK。
内容的提问来源于stack exchange,提问作者jeb
相关产品推荐
相关产品推荐

