解决vs2005,ASP.NET2.0自定义命名空间问题!

大家知道,在asp.net1.1,vs2003时,我们自定以类默认是包含在和我们的项目同名的命名空间中的,
可到了.net2.0&vs2005,新建的网站项目取消了命名空间,这样会带来很多不便,例如我们的两个项目都包含了default.aspx,和他们对应的类都是_default,这样,如果办这两个项目发布到一个web应用程序中的时候,就会出现错误,因为有两个_default类存在。
   那么问题如哈解决呢,可以参考vs2003的做法,把项目放在一个自定义的命名空间中,于是就尝试这样的代码,

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace mynamespace
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }
    }
}

可在vs2005中却无法 通过编译,提示有错误。而且莫名其妙。。。


错误 1 “ASP.default_aspx.GetTypeHashCode()”: 没有找到适合的方法来重写 c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\2.2\ae2ec4c2\e4448a31\App_Web_whwwuhjt.0.cs 289 
错误 2 “ASP.default_aspx.ProcessRequest(System.Web.HttpContext)”: 没有找到适合的方法来重写 c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\2.2\ae2ec4c2\e4448a31\App_Web_whwwuhjt.0.cs 293 
错误 3 “ASP.default_aspx”不会实现接口成员“System.Web.IHttpHandler.IsReusable” c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\2.2\ae2ec4c2\e4448a31\App_Web_whwwuhjt.0.cs 129 
错误 4 请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如 Page 或 UserControl)是正确的。 J:\个人\www\webservices\2.2\Default.aspx.cs 13 33 J:\...\2.2\


这是怎么回事呢???
后来笔者发现,default.aspx的开头是这样的,
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"  Inherits="_Default" %>
会不会是这里出了问题,是不是也应该在这里指定命名空间,于是笔者把它改为
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"  Inherits="mynamespace._Default" %>
结果顺利通过编译。
问题终于解决了。

不知道vs2005为什么会这样做,省去了命名空间!更可气的是你自己添加时提示的错误信息有莫名奇妙。。


转自:http://blog.csdn.net/sxf_zero/archive/2006/08/29/1137484.aspx

你可能感兴趣的:(asp.net)