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

C# ASP.NET同命名空间类无法访问及CS0246错误求助

解决ASP.NET中同命名空间类无法互相访问的问题

这问题我之前做ASP.NET项目时也踩过坑,核心是ASP.NET项目类型的编译机制差异导致的,咱们一步步拆解解决:

1. 先明确你的项目类型

ASP.NET有两种主流项目类型,它们的编译逻辑不一样:

  • Web Site项目:App_Code是特殊的自动编译文件夹,里面的代码会被自动纳入程序集;而自定义文件夹里的文件默认不会被编译,所以会出现找不到类型的错误。
  • Web Application项目:没有App_Code的特殊依赖,只要代码文件设置正确的编译属性,不管放在哪个文件夹,同命名空间的类都能正常访问。

2. 检查类文件的「生成操作」属性

这是最常见的问题根源:

  • 右键你的data_api.cs和respuestaJson.cs文件 → 打开「属性」窗口
  • 把「生成操作」设置为编译(Compile),不要选「内容(Content)」或「无」
  • 保存设置后重新生成项目

3. 确认命名空间完全一致

虽然你代码里写了namespace MNS,但还是要仔细核对:

  • 两个文件的命名空间拼写、大小写完全一致(比如别写成MnS或者mns)
  • 不要在命名空间里额外嵌套层级,保持统一的MNS命名空间

4. 清理缓存并重建项目

有时候VS的项目缓存会出问题:

  • 右键项目 → 选择「清理」
  • 右键解决方案 → 选择「生成解决方案」
  • 如果还是不行,关闭VS,删除项目目录下的bin和obj文件夹,再重新打开项目编译

补充说明

如果是Web Site项目,不想把文件放App_Code的话,也可以修改项目配置让自定义文件夹自动编译,但调整文件生成操作是更简单的方式。而Web Application项目完全不需要依赖App_Code,只要确保文件处于编译状态即可。

内容的提问来源于stack exchange,提问作者Sasan.R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:25:17