.net - Winforms 无法在 VS2012 中加载文件或程序集 'Microsoft.ReportDesigner, Version=10.0.0.0'

标签 .net vb.net winforms visual-studio-2012 report-viewer2010

这让我发疯。我在 VS2012 中构建了一个针对 .NET 4.5 的 winforms 应用程序。在一些表单上我必须使用 ReportViewer。起初我使用的是 2012 年的 ReportViewer(版本 11.0.0.0)。一切正常。然而,我的客户还不想在他们的工作站上安装这个版本,因为这个版本使用 CLR 类型 SQL 2012。不要问我为什么,但我现在必须接受这一点。

所以我决定使用之前的reportviewer版本10.0.0.0。我下载了重新分发包并安装了它。我还将它添加到 VS2012 中的工具箱中,并删除了项目中已引用的 reportviewer dll。但是当我将版本 10 的报表查看器拖动到表单上时,出现以下错误:

Could not load file or assembly 'Microsoft.ReportDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

应用程序正在运行,没有错误,但我对使用此报表查看器控件的表单没有设计时支持,如图所示。我想摆脱这个错误。

enter image description here

我检查了GAC,但找不到提到的Microsoft.ReportDesigner。它适用于版本 9.0.0.0 和 11.0.0.0,但不适用于 10.0.0.0。

底线,如何在 VS2012 的设计时使用 ReportViewer 版本 10.0.0.0 而不会出现设计时错误的问题?

框架:.NET 4.5 应用程序类型:winform 语言:vb.net Visual Studio:2012 版 控件:ReportViewer 10.0.0.0 SP 1

附注我还在VS2010中测试了ReportViewer控件,在VS2010中设计时使用没有问题。

[更新]

当我尝试在 VS2012 中的表单上添加 ReportViewer 时,确切的错误是:

enter image description here

最佳答案

我也遇到了同样的问题。我能够使用以下解决方法修复 VS 2012 设计器。我怀疑这是正确的方法,但它有帮助,而且我目前没有找到更好的方法。

  1. 关闭 Visual Studio 2012

  2. 转到 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。在执行此操作之前备份它。

  3. 启动 Visual Studio 2012 并打开您的项目。

关于.net - Winforms 无法在 VS2012 中加载文件或程序集 'Microsoft.ReportDesigner, Version=10.0.0.0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19287310/

相关文章:

vb.net - 有没有办法将表单放置在任何尺寸屏幕上的相同位置?

mysql - MySQL如何计算从日期到日期?

c# - 有没有更好的方法来避免使用 winforms 的无限循环?

c# - App.Config 未更新

winforms - 如果我以编程方式激活另一个应用程序中的窗口,我可以检测到它何时失去焦点吗?

.net - WPF:按下 Alt 键时,我的上下文菜单不会打开

.net - 如何在 Excel 中以编程方式设置一列以适应最长的文本?

c# - 为什么我可以使用集合初始值设定项和来自另一个类的私有(private)集合访问?

vb.net - 在vb.net中运行线程

.net - 如何在 VS 2005 中关闭无 xml 注释的警告