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

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

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


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