网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP.NET中使用App_Code文件夹的异常

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/05
目相关的类文件,而不是去新建一个Class Library。这时你会发现,Visual Studio里已经没有App_Code这个特殊的文件夹了:

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_215308" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="286" alt="2012-05-19_215308" src="/uploadfile/201301/5/65152039516.png" width="655" border="0" />

于是乎,你去Google或Baidu一下,那些文章就会告诉你让你手动添加一个名为"App_Code"的文件夹。于是你也照做了,也发现Visual Studio也确实识别了该文件夹,因为它的图标和在Web Site中的一样了:

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_220012" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="173" alt="2012-05-19_220012" src="/uploadfile/201301/5/D9152039303.png" width="315" border="0" />

这时候,你在App_Code中添加一些.cs文件,结果发现在Code-behind中却无法引用它们了。你又去Google了一下,结果告诉你让你改变.cs文件的Build Action,将它从默认的Content改成Compile:

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_220610" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="449" alt="2012-05-19_220610" src="/uploadfile/201301/5/05152039319.png" width="315" border="0" />

好了,终于可以引用App_Code中的类文件了,项目编译也能通过,貌似一切正常。估计此时你还会埋怨微软为什么要把App_Code文件夹给去掉了。

结果你一运行,问题就来了:

498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' title="2012-05-19_221147" style="border-top-width: 0px; padding-right: 0px; display: inline; padding-left: 0px; border-left-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; border-right-width: 0px" height="138" alt="2012-05-19_221147" src="/uploadfile/201301/5/D6152039215.png" width="811" border="0" />

以上截图的这个Web Application是从博客园园友梁逸晨一篇博客里面下载的。他原来提供的是一个Web Site,我在将这个Web Site转换成Web Application的过程中发现了上述的问题。

回到上面的错误。它提示编译器在调用一个方法的时候发现了两个相同签名方法,告诉你它不知道调用哪个。一般出现这个错误,主要是由于在同一个命名空间中出现了相同签名的方法,但这样的错误在你编译项目的时候就会报错,不会等到你运行的时候才报出来。

很自然的,我们会联想到这个问题是由于ASP.NET运行时对App_Code文件夹的特殊处理而造成的。因为只有App_Code文件夹中的代码到运行时才会被编译,因此上面那个错误的大标题是"Compilation Error",而所有其他地方有错误的代码在编译时就会报错。

让我们去Temporary ASP.NET Files这个文件夹来看看究竟。这里存放的是ASP.NET在执行期间所需的一些临时文件。

498)this.width=498;'' onmou

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号