为什么引用不了App_Code里的类

今天在写项目的时候需要把文件放在App_Code中,调用里面的类,怎么也引用不了,包括直接写上路径,也找不到类。结果在网上找了一下解决方案。

在Web应用程序中不能通过右键项目-〉”添加“-〉”添加ASP.NET文件夹“方式添加 。因为Web应用程序中App_Code就不存在 。

不过可以通过手动的方式创建,添加一个文件夹命名为App_Code就可以了。这样子创建的和在网站中创建的App_Code的在外观上一样的。

先不要高兴,没有这么简单的。

一:你在App_Code创建类时,会发现没有智能提示。在页面后台引用时,会抱错,说不存在。

解决的办法就是选中你的类文件,在属性中”高级“中的”生成操作“默认”内容“要改为“编译”就可以了。

到这就可以了。

这里写图片描述

二:也可以为Web应用程序项目中添加”App_LocalResources”,在这个文件夹下添加类也是可以的,就不需要添加App_Code文件夹了。

你还可以随便建个文件夹,或者根本就不用文件夹直接添加了类,只要修改了类高级属性的”生成操作“改为”编译“就可以。

PS:下面是具体的操作手册:

我们在.net编程时,有时候会出现在App_Code里的类,其他地方不能调用它。提示未找到类型或命名空间名称。遇到这样的问题该怎么解决呢?请看小编的图文教程!

这里写图片描述

1.我们首先找到不能引用的类文件,如下:

这里写图片描述

2.我们右击它或者按F4,如下:

这里写图片描述

3.我们点击属性,如下:

这里写图片描述

4.我们把“生成操作”属性值改为“编译”,如下:

这里写图片描述

5.然后我们会发现,错误没有了,如下

这里写图片描述

附上visual中类为什么要建在App_Code文件夹才可以引用的原因

App_Code文件夹是采用特殊的预处理机制的,如果你将代码放在其他地方,必须对网站编译之后才能进行访问,编程起来就很不方便。这是MSDN对App_Code文件夹的说明:

  【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应用程序任意处的其他代码都可以访问该程序集。

【拓展:如果不将.cs类放在App_Code文件夹中,要如何才能引用?】

如果想在其他地方写.cs的话,就必须要新建项目–>Visual C#–>类库(不创建新的解决方案),然后在新建的类库里面写新的的基类代码,不过不要忘记在基类的class前面加个public,写好生成后在原解决方案里面右键–>引用即可。

http://blog.sina.com.cn/s/blog_bdef9e650101g3m0.html
http://www.cnblogs.com/top5/archive/2009/11/30/1614125.html

猜你喜欢

转载自blog.csdn.net/younghaiqing/article/details/71627959
今日推荐