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

  • 相关阅读:
    PEP8 Python 编码规范整理
    github操作
    重零开始,写一个股票交易项目(1)
    矢量地图质量检查现状与需求(2篇)
    导航数据质量评价相关
    测绘数据国内外现状概述
    机器的反叛-机器的智能会超越人类吗?
    标签要素调用CSS样式优先级说明
    内存碎片概念及主要避免方式
    关于年终述职总结
  • 原文地址:https://www.cnblogs.com/itprogrammer/p/1904197.html
Copyright © 2011-2022 走看看