2014-03-07 124 views
31

我最近将我的n层解决方案从.NET 3.5 vs 2008升级到4.5 visual studio 2012。除了水晶报告之外,每件事情都很好,我必须从以下链接http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_5.exe安装Visual Studio 2012的新运行时Crystal报告。 安装上述软件包之后,我不得不解决CrystalViewer的一些不推荐使用的功能和属性,然后在开发环境(Windows 7 64位,SQL Server 2005,Visual Studio 2012)中正确渲染报告。当我在测试环境中的Windows Server 2008 R2 部署程序包的应用程序无法通过抛出错误 加载无法加载文件或程序集Microsoft.ReportViewer.WebForms,版本= 11无法加载文件或程序集'Microsoft.ReportViewer.Common,版本= 11.0.0.0

我设法解决ReportViewer.WebForms通过将DLL 从C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ ReportViewer复制到解决方案的bin文件夹并设置属性copylocal = true,并部署了该程序包。之后,我收到错误无法加载文件或程序集'Microsoft.ReportViewer.Common,版本= 11.0.0.0。我试图在我的机器上搜索那个DLL,但是不能。当在Visual Studio中运行项目时,在Debug-> Windows-> Module中,但是该文件未在全局程序集缓存中列出,该文件已安装,但我不知道如何将其安装到全局缓存以及从何处。我发现一个解决方案,我必须安装ReportViewer.msi从微软包,但如果我安装这个包,它要求我安装SQL Server 2012,我不想。任何人都可以帮我解决这个问题。谢谢

回答

23

您可以安装Microsoft Report Viewer 2012运行时并更改您的引用,以便它们指向运行时安装的引用。

http://www.microsoft.com/en-gb/download/details.aspx?id=35747

我已经安装运行时没有它要求SQL Server 2012的安装尝试卸载报表浏览器中的任何以前的版本之前。

+0

谢谢。当我尝试在Windows Server 2008上安装reportviewer.msi时,它说“该文件被阻止,因为它没有验证其发布者的有效数字签名。当我点击未知发布者时,检查证书,安装证书。它仍然不起作用。任何想法如何摆脱这个问题 – 3355307

+0

管理在Windows Server 2008上安装reportviewer的DLL错误消失了,但报告页面仍然是空白的水晶查看器。 – 3355307

+4

如果你不想在服务器上安装它,那么还有一个同名的NuGet包,你可以添加到你的Web项目中。 – CrazyPyro

43

不知道这是很好的人,但搜索所有这些DLL:

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WebForms .DLL
  • Microsoft.ReportViewer.WinForms.dll
  • Microsoft.ReportViewer.DataVisualization.dll

您可以在C:\Windows\assembly\GAC_MSIL\...中找到它们,然后将它们放入项目的参考中。

对于他们每个人说:本地复制,并检查32位或64位解决方案。

+1

好的答案。这对我来说只添加了“MicrosoftReportViewer.Common”和“Microsoft.ReportViewer.WebForms”,并将Copy Local设置为* true *。我想象答案中列出的其他人的要求取决于使用的报告的类型。 –

+1

谢谢,你保存了我的一天,因为我的WinForms 2013 c#应用程序更改为“本地副本”MicrosoftReportViewer.Common.dll和Microsoft.ReportViewer.WinForms.dll完成了这项工作! – MichaSchumann

+0

非常感谢!我从我们的实时服务器上拉下了一个软件包,无法在Visual Studio中找到这个参考。浏览到该文件位置,立即找到它们。 – Khaneliman

21

由于Microsoft.ReportViewer.2012只需安装Microsot.ReportViewer.2012.Runtime NuGet包。运行时Microsoft.ReportViewer.WebFormsMicrosoft.ReportViewer.CommonMicrosoft.ReportViewer.ProcessingObjectModel库,只是在下午控制台运行此命令:

安装,包装Microsoft.ReportViewer.2012.Runtime

注:如果您想彻底删除旧的Microsoft.ReportViewer.xxx参考文献,您可以从中删除它们管理NuGet软件包>已安装软件包菜单,然后从项目中的packages.config文件中删除相关行。之后,在项目建设期间不会再次复原。

希望这有助于...

1

添加2010或2012 Microsot.ReportViewer在安装项目的先决条件那么它首先安装报表查看,如果它不存在于“C:\ WINDOWS \装配\ GAC_MSIL ......”并安装后安装设置项目

7

无法加载文件或程序集“Microsoft.ReportViewer.Webforms”

无法加载文件或程序集“Microsoft.ReportViewer.Common”

这个问题发生在我的Visual Studio 2015年

原因:

Microsoft.ReportViewer.Webforms DLL的引用丢失。

可能的修复

第一步:

要 “Microsoft.ReportViewer.Webforms.dll” 添加到解决方案。

导航到NuGet包管理器控制台为

“工具 - > NugetPackageManager - >软件包管理器控制台”。

然后在控制台下面

PM>安装,包装Microsoft.ReportViewer.Runtime.WebForms输入以下命令

然后,它会安装Reportviewer.webforms DLL中的” .. \包\微软.ReportViewer.Runtime.WebForms.12.0.2402.15 \ lib“(您的项目文件夹路径)

和ReportViewer.Runtime.Common dll在”.. \ packages \ Microsoft.ReportViewer.Runtime.Common.12.0.2402.15 \ lib ”。 (你的项目文件夹路径)

第二步: -

删除 “Microsoft.ReportViewer.WebForms” 的现有基准。 我们需要将我们解决方案中的这些dll文件称为“右键单击解决方案>引用 - >添加引用 - >浏览”。 从上面的路径添加这两个DLL文件。

第三步:

更改Web.config文件中指出到Visual Studio 2015年 注释掉两个Microsoft.ReportViewer.WebForms和Microsoft.ReportViewer.Common版本11.0.0.0并取消这两个Microsoft.ReportViewer.WebForms和Microsoft.ReportViewer.Common版本= 12.0.0.0。如截图所示。

Microsoft.ReportViewer.Webforms/Microsoft.ReportViewer.Common

也可参考下面的链接。

Could not load file or assembly 'Microsoft.ReportViewer.WebForms'

+0

第1步为我做了! –

0

我有同样的问题。

对我来说,解决办法是:

您必须具有相同版本:Microsoft.ReportViewer.ProcessingObjectModel registred在C:\ WINDOWS \装配\ GAC_MSIL \ Microsoft.ReportViewer.ProcessingObjectModel, 就像你在registraded Web.config文件开发者服务器: enter image description here

在我来说,我只是在我的脾淋巴细胞服务器registred的13版本和我有12版的开发者服务器。

的解决方法是在服务器脾淋巴细胞安装的版本太12

的12版:

https://download.microsoft.com/download/A/1/2/A129F694-233C-4C7C-860F-F73139CF2E01/ENU/x86/ReportViewer.msi

那么现在我有在脾淋巴细胞的12版和报告工作精细。

***记住安装目录

enter image description here

0

我解决了这个问题后,你的IIS重置,在C搜索DLL的文件:\ WINDOWS \装配\ GAC_MSIL \并复制到proyect的bin目录部署。这对我有用。

0

在我的情况下,'Microsoft.ReportViewer.Common.dll'程序集不是我的项目所必需的,所以我只是删除所有的引用(项目 - >添加引用... - > ...)(所有需求从“发布”标签中自动移除VS2013)并且所有工作都正常。

相关问题