新建的Web项目中是没有App_Code文件夹的,我们可以自己添加一个App_Code文件夹。但问题来了,我们在App_Code中新建的类,不可以在其它的类中引用,反复确认命名空间,类名都没有错。但vs就是没有智能提示,编译也会报错。
解决方法就是 选中该类,右键选择属性,改写类的生成操作为"编译"就可以了(默认是“内容”),如下图:
附上App_Code文件夹的特殊作用:
App_Code文件夹App_Code文件夹是采用特殊的预处理机制的,如果你将代码放在其他地方,必须对项目编译之后才能进行使用,而App_Code内的类却不用。这是MSDN对App_Code文件夹的说明:
可以在App_Code文件夹中存储源代码,在运行时将会自动对这些代码进行编译。Web应用程序中的其他任何代码都可以访问产生的程序集。因此,App_Code文件夹的工作方式与Bin文件夹很类似,不同之处是您可以在其中存储源代码而非已编译的代码。App_Code文件夹及其在ASP.NET Web应用程序中的特殊地位使您可以创建自定义类和其他仅源代码文件,并在Web应用程序中使用它们而不必单独对它们进行编译。
App_Code文件夹可以包含以传统类文件(即带有.vb、.cs等扩展名的文件)的形式编写的源代码文件。但是,它也可以包含并非明确显示出由某一特定编程语言编写的文件。例如.wsdl(Web服务发现语言)文件和XML架构(.xsd)文件。ASP.NET可以将这些文件编译成程序集。
根据您的需要,App_Code文件夹可以包含任意数量的文件和子文件夹,文件夹的名称也可以任意起。您可以采用任何您认为方便的方式组织源代码,ASP.NET仍会将所有代码编译成单个程序集,并且Web应用程序任意处的其他代码都可以访问该程序集。