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

ASP.NET
.NET:InTheHand提供的类操作SMS
捕捉WPF应用程序中XAML代码解析异常
学习asp.net之SQL语句查询效率和安全性
一个不被flash、select、activex遮挡的、跨frame的无限分级菜单
探索 ASP.NET Futures
MSDN Visual系列:创建SharePoint Services解决方案包
.net中如何给数据表实体类赋值的方法
关于C#静态构造函数的几点说明
经典教程:用.net动态创建类的实例
ASP.NET 遍历配置文件的连接字符串
ASP.Net中利用CSS实现多界面两法
ASP.NET生成静态HTML页面并分别按年月目录存放
如何在ASP.net(C#)下操作XML文件
技巧应用:ASP.Net中的MD5加密
三层架构各层间的访问过程
asp.net初学者:petshop4.0设计说明
asp.net利用RAR实现文件压缩解压缩
.NET2.0抓取网页全部链接
给初学.net的您几点建议
如何实现ASP.NET网站个性化

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


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