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

.NET 6实例化自定义类报CS0246类型或命名空间找不到

问题产生原因

.NET 6 控制台项目默认启用**顶级语句(Top-level Statements)**模板特性,你当前写在Program.cs里的实例化代码(没有显式声明Program类、Main方法的写法),最终会被编译器生成到全局命名空间下的隐式Program类中,并没有处于你自定义类所在的Ability_Score_Calculator命名空间范围内。
而你在.NET 5环境下使用的是旧版控制台模板,显式声明的Program类默认被包裹在Ability_Score_Calculator命名空间下,和AbilityScoreCalculator类同属一个命名空间,因此不需要额外引用就能直接实例化,不会触发CS0246错误。

.NET 6环境下的解决方法

你可以任选以下任意一种方式修复:

  • 方法1:在Program.cs顶级语句的最顶部,添加自定义类所在命名空间的引用
    using Ability_Score_Calculator;
    AbilityScoreCalculator calculator = new AbilityScoreCalculator();
    
  • 方法2:实例化类时显式写全包含命名空间的完整类型名
    Ability_Score_Calculator.AbilityScoreCalculator calculator = new Ability_Score_Calculator.AbilityScoreCalculator();
    
  • 方法3:在Program.cs最顶部使用.NET 6支持的文件范围命名空间,将整个文件的代码纳入和自定义类相同的命名空间下
    namespace Ability_Score_Calculator;
    AbilityScoreCalculator calculator = new AbilityScoreCalculator();
    
  • 方法4:放弃顶级语句写法,改回.NET 5风格的显式结构,将Main方法包裹在Ability_Score_Calculator命名空间下即可,代码和你提供的.NET 5环境下的Main方法代码完全一致就能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 15:21:25