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

VS Code中.NET 6 MVC项目无法识别新建文件及文件夹的解决求助

解决.NET 6 MVC项目中自定义文件夹/文件无法引用的问题
  • 检查命名空间与文件夹结构匹配性
    .NET默认按文件夹结构生成命名空间,比如项目根目录下新建Services文件夹,里面的MyService.cs命名空间应为myproject.Services。如果手动修改过命名空间,或者命名空间和文件夹路径不对应,就会触发报错。打开你的.cs文件,确认命名空间声明正确:

    namespace myproject.YourFolderName; // 需与文件夹路径一致
    public class YourClass {}
    
  • 确认文件已被纳入项目文件(.csproj)
    .NET SDK风格项目默认包含符合规则的文件,但手动新建的文件偶尔会无法自动被识别。打开项目根目录的myproject.csproj,检查是否存在类似条目,没有的话手动添加:

    <ItemGroup>
      <Compile Include="YourFolderName/**/*.cs" />
    </ItemGroup>
    

    保存后执行dotnet build,重新加载项目。

  • 检查类的访问修饰符
    如果自定义类是默认的internal(未显式声明访问修饰符),而控制器在不同命名空间下,就无法访问该类。确保类添加public修饰符:

    namespace myproject.YourFolderName;
    public class YourClass {} // 必须显式声明public
    
  • 彻底清理.NET缓存
    除了dotnet clean,还可以手动删除项目根目录下的bin和obj文件夹,以及用户目录下.nuget/packages中与.NET 6相关的缓存(谨慎操作,也可只删除当前项目的缓存)。之后重新执行dotnet restore和dotnet build。

  • 验证命名空间引用正确性
    在控制器中引用时,确保using语句对应正确的命名空间:

    using myproject.YourFolderName; // 匹配自定义类的命名空间
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            var obj = new YourClass();
            return View();
        }
    }
    

    也可以直接使用完全限定名调用:var obj = new myproject.YourFolderName.YourClass();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:02:05