当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net教程:编译错误同时存在于不同dll中

ASP.NET
asp.net Linq TO Sql 分页方法
asp.net 用XML生成放便扩展的自定义树
asp.ent下合并两个结构相同的DataTable
asp.net 遍历repeater中的控件的几种方式
asp.net 处理原文件中过长的viewstate代码
asp.net下遍历页面中所有的指定控件的代码
获取创建Membership的数据库创建脚本
asp.net AJAX注册类
asp.net 处理F5刷新页面重复提交页面的一个思路
ASP.NET 缓存分析和实践浅析提高运行效率
asp.net 读取并显示excel数据的实现代码
ASP.NET中常用的用来输出JS脚本的类
ASP.NET中内嵌页面代码的一个问题
asp.net(C#)操作excel(上路篇)
一个基于Asp.Net MVC的权限方案
ASP.NET实例教程:51job网站地区选择功能
ASP.NET教程:友好的Html和JS适合SEO
ASP.NET教程:使用.ashx文件去除重复内容
ASP.NET做SEO:制作架构清晰和更新及时的网站地图
ASP.NET优化:Sql注入和Html注入的黑帽SEO

ASP.NET 中的 asp.net教程:编译错误同时存在于不同dll中


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 56 ::
收藏到网摘: n/a

asp.net 编译错误类型“同时存在于”不同的dll中.

出现这种错误大概有三种情况:

1、ASPX页面,一个*.ASPX,对应着一个*.cs文件,两者其实是一个文件,通过两者实现代码分离,每个*.aspx页面都引用着自身的CS文件:如果两个页面引用了相同得.CS文件,在发布得时候也会出现这种错误。

2、估计是在Bin里面还有一个老版本的DLL,而新版的DLL名字换掉了,新的覆盖不掉老的,并存在BIN里时,有可能会发生这种情况. 解决方案:把BIN里的手动删掉,C:\WINDOWS\Microsoft.NET\Framework\版本号\Temporary   ASP.NET   Files的临时文件里,把相应的目录都删掉,然后重新编译运行就OK.记着bin目录下组件一定要手动删除

 

3、我就是遇见得这种情况:控件得名字和引用控件得页面取了一模一样得名字,虽然在编译得时候没有错误,但是发布得时候会提示。

出现这种错误大概有三种情况:

1、ASPX页面,一个*.ASPX,对应着一个*.cs文件,两者其实是一个文件,通过两者实现代码分离,每个*.aspx页面都引用着自身的CS文件:如果两个页面引用了相同得.CS文件,在发布得时候也会出现这种错误。

2、估计是在Bin里面还有一个老版本的DLL,而新版的DLL名字换掉了,新的覆盖不掉老的,并存在BIN里时,有可能会发生这种情况. 解决方案:把BIN里的手动删掉,C:\WINDOWS\Microsoft.NET\Framework\版本号\Temporary   ASP.NET   Files的临时文件里,把相应的目录都删掉,然后重新编译运行就OK.记着bin目录下组件一定要手动删除

3、我就是遇见得这种情况:控件得名字和引用控件得页面取了一模一样得名字,虽然在编译得时候没有错误,但是发布得时候会提示。

以及一个补充说明:

如果你的用户控件名字不一样,但是Control指令中的ClassName属性的值一样也会出现上面的错误

我的项目一下午都在修缮、调试,所以我很清楚我的项目里没有重复类引用。

并且我这个状况很离奇:它一直报关于一个用户控件的同时存在错误,然而某次重试时却编译成功,而后没转几个页面,又报另一个用户控件同时存在错误,在这之后又重新无法编译成功,继续报最初那个用户控件的错误。

我觉得这个报错纯属胡来,所以我认定是Visual Studio内部错误导致,所以尝试了清理缓存、清理Bin、清理Obj、VS里的清理、重编译命令,乃至重新启动电脑,全都不行,前后折腾了得小一个钟头,已是怒不可遏。

然后我决定找出下午备份的版本来测试,一次成功,于是就把错误锁定在两个版本间的差异上了。

我想起我曾在此期间通过“添加现有项”从其他网站项目中添加了一个ashx,于是仔细检查此文件,发现其cs文件中的命名空间已改为我的项目默认命名空间,但是其ashx文件中却没有更改,还保留着原来项目的命名空间(ashx文件中只有一个头部声明,所以在VS里双击ashx文件是直接打开其cs文件,导致容易忽略这个文件)。

将其修正后,编译错误CS0433终于不再出现了。

这虽然是个人的小失误造成的问题,但是Asp.Net的错误提示却跟疯狗似的乱咬一通,严重误导、干扰开发者解决问题,希望Asp.Net的开发团队能修正此问题,并在日后减少类似的疏失。