App_Code 文件夹 在vs2010中为什么找不到
写这篇文章是因为看了.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在application project 中本来就是编译的,没必要放到app_code中了。
2不利于管理,可能一个app_code文件夹里面放满了各种各样的文件,有静态的,有访问数据库的,有操作xml的。我们应该把他们放到一个个不同的类库中来进行引用。
所以在application project中取消使用app_code文件夹是十分正确的。
看书的朋友们可要注意这点区别喽!