zoukankan      html  css  js  c++  java
  • Asp.net应用程序文件名重名引起的bug

    问题描述:

    在使用Vistual Studio 开发Asp.net网站时,假设我们在网站根目录添加了一个Default.aspx文件,同时IDE会为我们生成一个Default.aspx.cs的类文件,类名为:

    public partial class _Default : System.Web.UI.Page

    如果我们再在网站根目录添加一个MasterPage页面,文件名为:Default.master,同时IDE会为我们生成一个Default.master.cs的类文件,

    类名为:

    public partial class _Default : System.Web.UI.MasterPage

    此时我们会发现,IDE为我们生成的两个类文件中的类的名字是相同的并且这两个类是在同一个命名空间下。一般情况下,在同一个命名空间下,若出现两个相同类名的类是无法编译通过的。但是在asp.net里,出现上面那种情况,编译却可以通过,就算在asp.net development server下进行调试也不会出现任何错误。但是,一旦我们把网站发布,并部署到IIS后,我们要是去访问Default.aspx页面时,就会出现报错黄页, 错误提示的大概内容就是:程序集同命名空间下出现了同名类。其实这个问题根源就在于我们上面提到的那种情况(类文件由IDE自动生成)。因此,我们不能过于相信IDE的自动生成代码功能,在使用IDE添加asp.net文件时,最好不要创建同名的文件(不算文件扩展名),与此同时,最好能够检查IDE自动生成的代码。

  • 相关阅读:
    Python学习笔记
    Python学习笔记
    不定宽高垂直居中分析
    PhoneGap安装配置
    Mongoose学习参考资料
    我的node+express小例子
    node+express+mongodb初体验
    stylie工具轻松搞定css3抛物线动画
    fis前端开发框架
    Fiddler实现手机的抓包(转载园友小坦克)
  • 原文地址:https://www.cnblogs.com/itprogrammer/p/1904197.html
Copyright © 2011-2022 走看看