在.NET 4.8的ASP.NET MVC项目中添加枚举遇命名空间引用错误
解决ASP.NET MVC 4.8项目中App_Code枚举无法引用的问题
1. 修正App_Code文件夹的编译属性
ASP.NET MVC Web应用程序项目里,App_Code是网站项目的特殊目录,Web应用程序项目不会自动编译这个目录下的文件。需要手动调整文件属性:
- 在解决方案资源管理器中找到
Enum.cs文件,右键选择属性 - 将生成操作从
内容改为编译
2. 调整命名空间(可选但推荐)
无需把命名空间绑定到App_Code目录,直接用项目根命名空间即可:
namespace ContosoSystem { public enum YourEnumName { Value1, Value2 // 其他枚举成员 } }
之后在控制器里通过using ContosoSystem;就能直接引用该枚举。
3. 确保文件包含在项目中
如果左上角显示4_App_Code而非当前项目名称,说明文件未被纳入项目范围:
- 右键项目名称,选择添加 -> 现有项
- 找到
App_Code文件夹下的Enum.cs文件,添加到项目中 - 重新生成项目,即可正常切换到当前项目并引用枚举
4. 替代方案:放弃使用App_Code文件夹
如果不想纠结特殊目录的问题,直接在项目根目录新建Enums文件夹存放枚举文件即可——Web应用程序项目对普通文件夹的编译逻辑更直接,不会出现类似问题。
内容的提问来源于stack exchange,提问作者rd1218
相关产品推荐
相关产品推荐

