写这篇文章是因为看了.NET 3.5高等编程,说到App_code这个文件夹,只要class文件放入这个文件就可以在runtime编译,然后全部项目都可以调用到这个文件夹了。
看上去挺好的一个功能,可是当我在vs2010中添加一个asp.net文件夹的时辰却找不到这个选项了!(不是真的找不到是建错了项目。。。)
图一:
然后查到的解决办法如下:
1.自定义一个app_code文件夹,这个文件夹建好后就是默认asp.net文件夹了。在这个文件夹创建的任何类文件的属性都是content的。(在这个属性下我们是无法正常调用里面的类文件的。)
2.所以我们须要将它改变其属性为compile类型。
图二:
如许我们就可以正常调用了!
然则如许app_code又何其他类有什么不合呢?为什么我们还须要如许一个文件夹呢?
经过查msdn,才在这里发明一小段申明:
http://msdn.microsoft.com/en-us/library/aa983464(vs.80).aspx
原因是app_code是给web site project应用的,即而我们如今大项目组用的是web application,web application如今不支撑应用app_code了,当然找不到啦~(文档上说2005找获得,但也要转换成compile类型)。
然后我解析了下原因小我感觉微软如许做是因为其有以下两点不足:
1很是晦气于经管,可能一个app_code文件夹里面放满了各类百般的文件,有静态的,有接见数据库的,有操纵xml的。我们应当把他们放到一个个不合的类库中来进行引用。
2放在application project 其他文件夹中的class在同一个定名空间底本就可以彼此调用,没须要放到app_code中了。
所以在application project中作废应用app_code文件夹是十分正确的。