当前位置: 代码迷 >> ASP.NET >> vs2005发布网站时遇到的有关问题! ( 无法将类型“ASP.login_ascx”转换为“System.Web.UI.WebControls.Login )
  详细解决方案

vs2005发布网站时遇到的有关问题! ( 无法将类型“ASP.login_ascx”转换为“System.Web.UI.WebControls.Login )

热度:1225   发布时间:2013-02-25 00:00:00.0
vs2005发布网站时遇到的问题! ( 无法将类型“ASP.login_ascx”转换为“System.Web.UI.WebControls.Login )
调试都是正常,生成网站,发布网站都能成功,就是发布后浏览不可以,报下面的错误!如果能像2003一样做完了,把ASPX和Bin目录拷过去就可以了。

我现在目前已知有两种方法可以运行:
1,是把全部的.cs   and   .aspx一起拷过去,运行没问题的,我公司里都这么干的
2,是发布网站时,把   允许更新此预编译站点前面的勾去掉   也是可以的,但这样的话Bin目录里有很多的xx.aspx.cdcab7d2.compiled这样的文件,我想像2003一样,只有几个类库的Dll

注:我的VS2005也装了那个发布网站的插件,但问题依旧

我现在的用户控件是在页面注册的,后置文件里没有写任何东西
<%@   Register   TagPrefix= "myuc "   TagName= "login "   Src= "~/Login.ascx "   %>


错误提示如下:


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

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

源错误:

 

行   111:                
行   112:                 public   login_ascx()   {
行   113:                         ((Login)(this)).AppRelativeVirtualPath   =   "~/Login.ascx ";
行   114:                         if   ((global::ASP.login_ascx.@__initialized   ==   false))   {
行   115:                                 global::ASP.login_ascx.@__stringResource   =   this.ReadStringResource();
 


------解决方案--------------------------------------------------------
mark
------解决方案--------------------------------------------------------
乱码我也碰到过,关注!
------解决方案--------------------------------------------------------
自己的类改个名字。。。与net2.0提供的Login类冲突了

也可以加namespace来区别。
------解决方案--------------------------------------------------------
up
------解决方案--------------------------------------------------------
这是ASP.NET 2.0的一个Bug,尽量不要把页面或用户控件与现有的控件、Web的类同名。
------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
学习
------解决方案--------------------------------------------------------
Study
------解决方案--------------------------------------------------------
学习

------解决方案--------------------------------------------------------
之前已经发现了 ,不冲突就可以了
------解决方案--------------------------------------------------------
Ivony(授人以鱼不如授人以渔,上海谋生) ( ) 信誉:100 2007-08-13 11:40:57 得分: 0
这是ASP.NET 2.0的一个Bug,尽量不要把页面或用户控件与现有的控件、Web的类同名。

把cs的类名改一下:比如:_Login,当然了,这样.aspx里面的最上面的继承也改成一致.
在2003下,这些是自动处理了,最常用的比如default.aspx,类名会是:_default.aspx.
可以按照:Ivony(授人以鱼不如授人以渔,上海谋生)所说的,是ASP.NET 2.0的一个Bug吧.



------解决方案--------------------------------------------------------
名称重复啦

换个名称吧
------解决方案--------------------------------------------------------
UP
------解决方案--------------------------------------------------------
study
------解决方案--------------------------------------------------------
是PageParser在分析处理页面类的时候,并没有加上global::,即应该生成的代码是global::Login,而PageParser生成的是Login,故而被解释成System.Web.UI.WebControls.Login,从而出错。
------解决方案--------------------------------------------------------
  相关解决方案