这让我发疯了。我在 VS2012 中构建了一个针对 .NET 4.5 的 winforms 应用程序。在一些表单上,我必须使用 ReportViewer。起初,我在 2012 年使用 ReportViewer(版本 11.0.0.0)。一切正常。但是,我的客户还不想在他们的工作站上安装这个版本,因为这个版本使用 CLR Types SQL 2012。不要问我为什么,但我现在必须接受这个。
所以我决定使用之前的reportviewer 10.0.0.0 版本。我下载了再分发包并安装了它。我还在VS2012中将它添加到我的工具箱中,并删除了我的项目中已经引用的reportviewer dll。但是,当我在表单上拖动版本 10 报告查看器时,我收到以下错误:
无法加载文件或程序集 'Microsoft.ReportDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
应用程序运行时没有错误,但我在使用此报表查看器控件的表单上没有设计时支持,如图所示。我想摆脱错误。
我检查了 GAC,找不到提到的 Microsoft.ReportDesigner。它适用于版本 9.0.0.0 和 11.0.0.0,但不适用于 10.0.0.0。
底线,如何在 VS2012 的设计时使用 ReportViewer 版本 10.0.0.0 而不会出现设计时错误的问题?
框架:.NET 4.5 应用程序类型:winforms 语言:vb.net Visual Studio:2012 版控件:ReportViewer 10.0.0.0 SP 1
PS我在VS2010中也测试了ReportViewer控件,在VS2010设计时使用没有问题。
[更新]
当我尝试在 VS2012 中的表单上添加 ReportViewer 时的确切错误是: