Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Winforms无法加载文件或程序集';Microsoft.ReportDesigner,版本=10.0.0.0';在VS2012_.net_Vb.net_Winforms_Visual Studio 2012_Report Viewer2010 - Fatal编程技术网

.net Winforms无法加载文件或程序集';Microsoft.ReportDesigner,版本=10.0.0.0';在VS2012

.net Winforms无法加载文件或程序集';Microsoft.ReportDesigner,版本=10.0.0.0';在VS2012,.net,vb.net,winforms,visual-studio-2012,report-viewer2010,.net,Vb.net,Winforms,Visual Studio 2012,Report Viewer2010,这让我快发疯了。我在VS2012中构建了一个winforms应用程序,目标是.NET 4.5。在一些表单上,我必须使用ReportViewer。起初,我使用ReportViewer for 2012(版本11.0.0.0)。一切正常。但是,我的客户端还不想在其工作站上安装此版本,因为此版本使用CLR类型SQL 2012。别问我为什么,但我现在不得不接受 所以我决定使用以前的reportviewer版本10.0.0.0。我下载了重新分发包并安装了它。我还将其添加到VS2012中的工具箱中,并删除了

这让我快发疯了。我在VS2012中构建了一个winforms应用程序,目标是.NET 4.5。在一些表单上,我必须使用ReportViewer。起初,我使用ReportViewer for 2012(版本11.0.0.0)。一切正常。但是,我的客户端还不想在其工作站上安装此版本,因为此版本使用CLR类型SQL 2012。别问我为什么,但我现在不得不接受

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

无法加载文件或程序集“Microsoft.ReportDesigner,版本=10.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100)

应用程序运行时没有错误,但是我没有使用此reportviewer控件的窗体的设计时支持,如图所示。我想消除这个错误

我检查了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

另外,我还在VS2010中测试了ReportViewer控件,在VS2010的设计阶段使用它没有问题

[更新]

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


我也有同样的问题。我能够通过以下解决方法修复VS 2012 designer。我怀疑这是正确的方法,但它有帮助,我现在没有找到更好的方法

  • 关闭Visual Studio 2012

  • 转到C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblys文件夹,并将所有报表查看器程序集(文件名以“Microsoft.ReportDesigner.”开头,版本为10.0.0.0)复制到C:\Program Files(x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblys。在执行此操作之前备份它

  • 启动Visual Studio 2012并打开您的项目


  • Alex的修复是有效的,但最终会出现在控件的前一个版本中。要获取报表查看器控件的v11,请关闭项目(如果项目已打开),然后浏览到c:\windows\assembly。复制Microsoft.ReportViewer.Common.Resource版本11.0.0.0的公钥令牌值。打开项目文件并搜索对ReportViewer 10.0.0.0版本的引用。将版本更改为11.0.0.0,将公钥更改为复制的值,然后保存文件。打开项目后,ReportViewer引用应指向正确的版本。

    Alex的解决方案是错误的,它可以工作,但不正确

    简单的解决方案是用当前版本的dll替换旧引用

    我已删除了对Microsoft.ReportViewer.WinForms的引用,然后添加了版本为v11.0.0.0的引用Microsoft.ReportViewer.WinForms

    希望有帮助。

    从以下链接获得答案

    它不需要许可证,它是可再发行的

    2008年 http://www.microsoft.com/en-us/download/details.aspx?id=6576[^]

    2010年 http://www.microsoft.com/en-us/download/details.aspx?id=6442[^]


    将dll上传到您的站点邮箱中

    从该窗口文件夹
    (C:\Program Files(x86)\Microsoft Visual Studio 10.0\ReportViewer)
    。我已经用过了,而且很管用
    Microsoft.ReportViewer.Common.dll
    Microsoft.ReportViewer.WebForms.dll

    Microsoft.ReportViewer.WinForms.dll
    使用以下路径添加引用: C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.Common\12.0.0.0__89845DCD80CC91\Microsoft.ReportViewer.Common.dll


    C:\Program Files(x86)\Microsoft Visual Studio 14.0\ReportViewer\Microsoft.ReportViewer.WinForms.dll

    对我来说,最大的谜团是如何将它添加到工具箱中。redist包仅用于在客户端计算机上获取ReportViewer,它不提供引用程序集。你不能在GAC中找到它,这很容易解释,你可能看错了。它被添加到v2 GAC,而不是v4 GAC。在c:\windows\assembly中查找。在您的问题中添加更多关于在哪里找到引用程序集的信息,这是出错的步骤。添加到工具箱很容易。选择项目时,只需转到Reportviewer.Winforms.dll。然后它出现在工具箱中。但是,您只能使用其中一个ReportViewer。VS2012或VS2010随附的版本。关于GAC的问题,我检查了C:\windows\assembly。我得到了9.0.0.0和11.0.0.0版本。不是10.0.0版。但我们现在走另一条路。所以解决这个问题不再是最高优先级了。对于回复,我仍然很好奇如何解决它Alex的回答对我很有用,但这不意味着我们现在使用的是旧版本的控件吗?这会导致任何问题吗?还有另一种解决方案,与之前的解决方案相反,将报表查看器11控件从C:\Program Files(x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateSassemblies复制到C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateSemblies。这也很有帮助,据我所知,最终将使用designer版本11。为什么不引用Visual Studio版本所期望的正确版本的ReportViewer,只需更新引用手册L