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

ASP.NET
ASP.NET 多附件上传实现代码
asp.net 类库中使用ConfigurationManager.ConnectionStrings
asp.net AjaxControlToolKit--TabContainer控件的介绍
ASP.NET环境下为网站增加IP过滤功能
asp.net访问Access数据库溢出错误
ASP.NET AJAX 4.0的模版编程(Template Programming)介绍
asp.net StringBuilder的用法 实例代码
asp.net Accee数据库连接不稳定解决方案
ASP.NET2.0 SQL Server数据库连接详解
asp.net Repeater之非常好的数据分页
C# 生转换网页为pdf
浅谈ASP.NET的Postback 实例代码
asp.net Ext grid 显示列表
通过ASP.net实现flash对数据库的访问
如何创建一个AJAXControlToolKit的扩展控件
asp.net 简单验证码验证实现代码
asp.net 在客户端显示服务器端任务处理进度条的探讨
Asp.net treeview实现无限级树实现代码
asp.net INI文件读写类
asp.net下检测SQL注入式攻击代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 102 ::
收藏到网摘: 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的开发团队能修正此问题,并在日后减少类似的疏失。