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

  • 相关阅读:
    Java IO2
    Java IO1 复制粘贴文件
    Java superArray2
    17杭州女子专场赛
    组队赛 A Promotions 深搜+逆向思维
    Java处理异常小试
    再谈Dijkstra算法和堆优化
    仿照JAVA vector模型写一个SuperArray
    HDU 2017女生赛04 (变形最短路)
    Gym-100712J 桶排序思想&反向思维
  • 原文地址:https://www.cnblogs.com/itprogrammer/p/1904197.html
Copyright © 2011-2022 走看看