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自动生成的代码。

  • 相关阅读:
    带参的方法
    类的无参方法
    类和对象
    关于线程间的通信的几个解决事例
    一个简单的邮件发送
    关于process
    关于java的static语句块
    关于struts2拦截器获取页面参数
    hexo github pages 首页不展示,出现代码怎么办
    使用Hexo搭建个人博客(三)
  • 原文地址:https://www.cnblogs.com/itprogrammer/p/1904197.html
Copyright © 2011-2022 走看看