You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:25:14