今天在一个接手的项目中发现个奇怪的问题
项目是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 详细信息: