使用Visual Studio 2019时,*.cs类文件存放位置及App_Code使用疑问
问题解答
在VS2019中把*.cs类文件放在\App_Code目录是否不当?
并非绝对不当,核心要看你创建的项目类型:
- 如果你用的是ASP.NET网站项目(Web Site Project),App_Code本来就是这类项目的标准目录,VS2019会像VS2012一样自动动态编译该目录下的代码,完全合规。
- 但如果是Web应用程序项目(Web Application Project),VS2019默认会把App_Code下的.cs文件生成操作设为
Content,不会自动编译。你可以手动修改文件属性,将生成操作改成Compile来解决编译问题,但Web应用程序项目本身是整体编译为程序集的架构,App_Code的动态编译特性在这里并非必需,反而多了额外配置步骤,从项目架构设计角度看,不是最优选择。
放在项目根目录是否可行?
可行,但非常不推荐:
- 根目录的.cs文件默认生成操作是
Compile,确实能自动编译,但随着项目规模扩大,类文件会和页面、配置、资源文件混在一起,严重降低项目的可维护性,后期查找、修改代码都会变得异常繁琐。
推荐做法
- 若使用Web应用程序项目:创建自定义分类目录(比如
Helpers、Models、Services等)来存放类文件,这些目录下的.cs文件默认会被设为Compile,无需额外配置,还能保持项目结构清晰规整。 - 若坚持使用动态编译的网站项目:继续用App_Code目录存放类文件即可,VS2019会自动处理编译逻辑。
内容的提问来源于stack exchange,提问作者HelloCW
相关产品推荐
相关产品推荐

