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

JetBrains Rider中测试C#12主构造函数遇/langversion参数无效错误

问题原因及解决办法

核心问题

C# 12的语言特性(包括主构造函数)必须依赖.NET 8 SDK才能支持,你当前项目设置的<TargetFramework>net7.0</TargetFramework>对应的SDK最高仅支持C# 11,强制指定<LangVersion>12</LangVersion>自然会触发版本不兼容的错误。

解决步骤

  1. 升级项目目标框架到.NET 8
    打开项目的.csproj配置文件,将<TargetFramework>的值修改为net8.0,同时可以保留<LangVersion>12</LangVersion>(其实.NET 8默认就启用C# 12,这个配置项不写也没问题)。修改后的配置示例:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net8.0</TargetFramework>
        <LangVersion>12</LangVersion> <!-- 可选配置 -->
      </PropertyGroup>
    </Project>
    
  2. 确认已安装.NET 8 SDK
    打开Rider的设置(File → Settings),进入Build, Execution, Deployment → Toolset and Build → .NET CLI,检查列表中是否存在.NET 8 SDK。如果没有,需要先下载安装.NET 8 SDK(前往微软官方渠道获取对应版本)。

  3. 验证主构造函数代码
    确保你的主构造函数写法符合C# 12的规范,示例代码如下:

    public class Employee(string firstName, string lastName, int id)
    {
        // 直接使用构造函数参数定义属性
        public string FullName => $"{firstName} {lastName}";
        public int EmployeeId => id;
    }
    

内容的提问来源于stack exchange,提问作者HBK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:52:05