vs2010 Web Application 程序中的App_Code

今天在一个接手的项目中发现个奇怪的问题

项目是Web Application类型的程序, 其中有个App_Code文件夹, 里面有若干类文件

在编译的时候没有任何问题,但是当我看到一个自定义函数的时候,我想F12(找到定义), 却发现不起作用,

类的提示信息也没有,第1反应是我打开项目的方式错了,于是我又以打开网站的方式重新打开该项目,这下好了

,没有之前的问题了。

可是我的程序明明是web application,为什么会出现这个问题?

网上搜了下,原来是build action这个文件属性的问题! 以前用过这个属性,可以把一些静态文件当做资源嵌入到

输出的程序集中,但是也没怎么看其他的属性。在此处,我们需要把App_Code中的类文件的build action属性改为compile就可以了

我又自己建了个web application程序,重现下问题

1.建立web application

2.想添加app_code文件夹,发现vs中的添加文件夹已经不包含app_code,于是手动添加个名字问app_code的文件夹

3.在app_code中添加类文件,发现默认的build action属性为content

4.在app_code其他地方新建类文件,发现build action属性都为compile

我们都知道,在建立网站项目的时候我们需要把类文件放入到app_code中就可以找到了,如果随便放入一个文件夹中,在其他地方是找不到的,但是现在在web application中不是必须放在app_code中了,且放入其中的文件夹被当做为静态文件处理(因为html,cs,图片等默认的build action为content)

build action 详细信息:

http://msdn.microsoft.com/en-us/library/0c6xyb66.aspx

http://forums.asp.net/p/1270152/2567370.aspx

原文地址:https://www.cnblogs.com/lyroge/p/2325324.html