这让我疯了。我在VS2012中使用winforms app构建了.NET 4.5。在一些表单上,我必须使用ReportViewer。起初我使用ReportViewer for 2012(版本11.0.0.0)。一切正常。但是我的客户端不希望在他们的工作站上安装此版本,因为此版本使用CLR Types SQL 2012.不要问我为什么,但我现在必须接受这个。
所以我决定使用之前的reportviewer 10.0.0版。我下载了再分发软件包并进行了安装。我还将它添加到VS2012中的工具箱中,并删除了我的项目中已经引用的reportviewer dll。但是当我在表单上拖动版本10 reportviewer时,我收到以下错误:
无法加载文件或程序集“Microsoft.ReportDesigner,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
应用程序运行时没有错误,但我在使用此reportviewer控件的表单上没有设计时支持,如图所示。我想摆脱这个错误。
我检查了GAC,找不到提到的MicroSoft.ReportDesigner。它适用于版本9.0.0.0和11.0.0.0但不适用于10.0.0.0。
Bottomline,我如何使用ReportViewer 10.0.0版。在VS2012的设计时没有设计时错误的问题?
框架:.NET 4.5 应用类型:winforms 语言:vb.net Visual Studio:2012版 控制:ReportViewer 10.0.0.0 SP 1
P.S。我还测试了VS2010中的ReportViewer控件,在设计时使用它没有问题。
[UPDATE]
当我尝试在VS2012中的表单上添加ReportViewer时的确切错误是:
答案 0 :(得分:10)
我遇到了同样的问题。我能够通过以下解决方法修复VS 2012设计器。我怀疑这是正确的方法,但它有帮助,我现在没有找到更好的东西。
关闭Visual Studio 2012
转到C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies文件夹并复制所有报表查看器程序集(文件名以“Microsoft.ReportDesigner。”开头,版本为10.0 .0.0)到C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ PrivateAssemblies。在执行此操作之前备份它。
启动Visual Studio 2012并打开您的项目。
答案 1 :(得分:6)
亚历克斯的解决方案是错误的,但它有效但不对。
简单的解决方案是用当前版本的dll替换旧的refence
我删除了删除的引用Microsoft.ReportViewer.WinForms然后添加了引用Microsoft.ReportViewer.WinForms哪个版本是v11.0.0.0
希望它有所帮助。
答案 2 :(得分:2)
Alex的修复工作正常,但您最终会使用之前版本的控件。要获取报表查看器控件的v11,请关闭项目(如果已打开),然后浏览到c:\ windows \ assembly。复制Microsoft.ReportViewer.Common.Resource版本11.0.0.0的公钥标记的值。打开项目文件并搜索对ReportViewer 10.0.0.0版本的引用。将版本更改为11.0.0.0并将公钥更改为您复制的值,然后保存文件。打开项目后,ReportViewer引用应指向正确的版本。
答案 3 :(得分:2)
从CodeProject得到答案(参见下面的链接)
它不需要许可证,它是可再发行的
2008 http://www.microsoft.com/en-us/download/details.aspx?id=6576 [^]
2010 http://www.microsoft.com/en-us/download/details.aspx?id=6442 [^]
http://www.codeproject.com/Questions/399003/Could-not-load-file-or-assembly-Microsoft-ReportVi
答案 4 :(得分:0)
在您的网站bin中上传dll
来自此窗口文件夹(C:\Program Files (x86)\Microsoft Visual Studio 10.0\ReportViewer)
。我已经使用它了,它的工作原理
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.WebForms.dll
Microsoft.ReportViewer.WinForms.dll
答案 5 :(得分:0)
使用以下路径添加引用: C:\的Windows \组件\ GAC_MSIL \ Microsoft.ReportViewer.Common \ 12.0.0.0__89845dcd8080cc91 \ Microsoft.ReportViewer.Common.dll
C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ ReportViewer \ Microsoft.ReportViewer.WinForms.dll