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
相关产品推荐
相关产品推荐

