解决报表控件报CS0433错误

我今天做报表功能,利用的EDI是VS2010,展示报表页面时报以下错误。有印象几年前做报表也遇到过此问题,但具体想不起来了,就想快速解决,马上百度谷歌,没想到搜了快一小时,搜出来的一些方法都不行,万分焦急之时,自己冷静下来仔细想了想.net的dll加载原理,无论是配置文件还是dll,如果自己项目里有就先加载自己项目里的,没有再往上找注册过的GAC里的dll等等。如是,就看了看自己当前项目里的bin目录下,确实还藏着个9.0.0.0版本的,就马上把它删除,立马就好了。

现在已经12点多了,明天4点要出去办事,就不多琢磨具体原理了,大概想一想,在页面加载时,CLR会先加载当前项目bin目录的dll,再加载通过VS应用的路径下的dll,找不到再找GAC里的,我在项目里引用的是选择的.net下的10.0.0.0版本,而bin目录又藏个9.0.0.0版本,因此加载时将两个都加载进来了,报以下错误。

不知道我理解的有多大问题,如有高手完全掌握其原理,还请指正。不过这个问题其他人说的方法不行,我这方法肯定好使,希望能给大家带来方便。

CS0433:类型“Microsoft.Reporting.WebForms.ReportViewer”同时存在于“c:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\10.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll”和“c:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll”中

posted @ 2013-04-29 00:04  PongorXi  阅读(1445)  评论(0编辑  收藏  举报