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

VS2019中如何实例化App_Code文件夹内定义的类?

问题解决与说明

一、编译错误的解决方法

你的代码无法编译主要有两个原因,对应解决方式如下:

  1. 命名空间引用问题
    HandleRecord类的命名空间是TempDB.App_Code,而Default.aspx.cs在TempDB命名空间下,直接写HandelRecord会找不到类型。解决办法二选一:

    • 在Default.aspx.cs的顶部添加命名空间引用:
      using TempDB.App_Code;
      
    • 使用完整命名空间实例化类:
      TempDB.App_Code.HandelRecord aHandelRecord = new TempDB.App_Code.HandelRecord();
      
  2. 文件编译属性问题
    你提到放在App_Code文件夹时需要手动设置Compile选项,这说明你的项目是ASP.NET Web Application类型(而非Web Site类型)。在Web Application项目中,App_Code不是默认的自动编译文件夹,里面的.cs文件默认生成操作是Content,必须手动改为Compile才能被编译:

    • 右键App_Code文件夹下的HandleRecord.cs → 属性 → 生成操作,选择Compile。

二、App_Code文件夹的合理性分析

是否适合将.cs文件放在App_Code文件夹,取决于你的项目类型:

  • 如果是ASP.NET Web Site项目:App_Code是官方推荐的共享类存放位置,系统会自动编译该文件夹下的所有类文件,无需手动设置编译属性,放在这里是合理的。
  • 如果是ASP.NET Web Application项目:不建议使用App_Code文件夹。这类项目的编译逻辑是基于文件的生成操作,根目录或自定义类文件夹(如Helpers、Models)下的.cs文件会自动被设置为Compile,无需手动调整,管理起来更省心。强行用App_Code反而需要额外修改属性,徒增麻烦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:05:19