代码改变世界

无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login”

2008-11-29 11:05  Fred-Xu  阅读(927)  评论(0编辑  收藏  举报

ASP.NET开发网站时经常遇到下面错误提示:

“/”应用程序中的服务器错误。  
--------------------------------------------------------------------------------  

编译错误  
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。  

编译器错误信息: CS0030: 无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login”  

源错误:  



行 114:        public login_aspx() {  
行 115:            string[] dependencies;  
行 116:            ((Login)(this)).AppRelativeVirtualPath = "~/Login.aspx";  
行 117:            if ((global::ASP.login_aspx.@__initialized == false)) {  
行 118:                global::ASP.login_aspx.@__stringResource = this.ReadStringResource();  


源文件: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\daefebd4\9997e53\App_Web_login.aspx.cdcab7d2.fvzmdwpt.0.cs    行: 116  


错误信息,发布之前在IIS里还是在vs里调试都没有任何问题....  
发布后就老出错

其实问题原因是自己建立的Login.aspx文件,产生了一个Login类,该类与.net类库里的System.Web.UI.WebControls.Login类冲突导致错误发生。

所以修改就很简单了。要么删除Login.aspx页面重新建立其他名字的页面。甚至修改大小写也可以解决。比如login.aspx

或者简单些,修改Login.aspx的后台类名,比如把Login.cs里的类名Login修改为Login1,然后修改前台Login.aspx头上的定义:Login改为Login1。此修改不影响其他地方。


Tags - login编译出错 , login出错 , 无法将类型“asp.login aspx”转换