无法加载文件或程序集“Microsoft.ReportViewer.Common,版本= 11.0.0.0

我最近将我的n-tier解决scheme从.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的function和属性,然后在开发环境(Windows 7 64位,SQL Server 2005,Visual Studio 2012)中报告正确渲染。 当我在testing环境Windows Server 2008 R2中部署包时,应用程序无法通过抛出错误加载无法加载文件或程序集Microsoft.ReportViewer.WebForms,Version = 11

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

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

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

我已经安装了运行时,没有它要求SQL Server 2012.在安装之前尝试卸载任何以前版本的报告查看器。

不知道这是否对任何人都好,但search所有这些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\...find它们,然后将它们放在项目的引用中。

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

由于Microsoft.ReportViewer.2012.Runtime具有Microsoft.ReportViewer.WebFormsMicrosoft.ReportViewer.CommonMicrosoft.ReportViewer.ProcessingObjectModel库,只需在PM控制台上运行此命令:

 Install-Package Microsoft.ReportViewer.2012.Runtime 

注意:如果要完全删除旧的Microsoft.ReportViewer.xxx引用,可以从Manage NuGet Packages> Installed Packages菜单中删除它们,然后从项目中的packages.config文件中删除相关行。 之后在项目build设过程中不会再回来。

你也可以下载nuget包 。

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

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

这个问题发生在Visual Studio 2015中。

原因:

Microsoft.ReportViewer.Webforms DLL的参考丢失。

可能的修复

步骤1:

将“Microsoft.ReportViewer.Webforms.dll”添加到解决scheme。

导航到Nuget包pipe理器控制台

“工具 – > NugetPackageManager – >程序包pipe理器控制台”。

然后在控制台中input以下命令,如下所示

PM> Install-Package Microsoft.ReportViewer.Runtime.WebForms

然后它将安装Reportviewer.webforms DLL“.. \ packages \ Microsoft.ReportViewer.Runtime.WebForms.12.0.2402.15 \ lib”(您的项目文件夹path)

和“.. \ packages \ Microsoft.ReportViewer.Runtime.Common.12.0.2402.15 \ lib”中的ReportViewer.Runtime.Common dll。 (您的项目文件夹path)

第2步:-

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

第三步:

将web.Config文件更改为Visual Studio 2015.注释掉Microsoft.ReportViewer.WebForms和Microsoft.ReportViewer.Common版本11.0.0.0,并取消注释Microsoft.ReportViewer.WebForms和Microsoft.ReportViewer.Common Version = 12.0.0.0。 如截图所示。

Microsoft.ReportViewer.Webforms / Microsoft.ReportViewer.Common

另请参阅下面的链接。

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

只需安装Microsot.ReportViewer.2012.Runtime nuget包,如此答案所示https://stackoverflow.com/a/33014040/2198830

添加Microsot.ReportViewer 2010或2012在安装项目的先决条件,然后它首先安装报告查看器,如果它不存在于“C:\ Windows \ assembly \ GAC_MSIL …”,安装后,它安装设置项目

我有同样的问题。

我的解决scheme是:

您必须具有相同版本的:Microsoft.ReportViewer.ProcessingObjectModel注册在C:\ Windows \程序集\ GAC_MSIL \ Microsoft.ReportViewer.ProcessingObjectModel,就像您已注册在开发人员服务器中的web.config中: enter image description here

在我的情况下,我只在我的产品服务器注册了13.版本,我有在开发服务器的12版本。

解决scheme也是在生产服务器上安装版本12.

版本12.:

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

那么现在我有版本12.在生产和报告工作正常。

***请记住在安装后重置您的IIS

在这里input图像说明

我解决了这个问题,searchC:\ Windows \ assembly \ GAC_MSIL \中的dll文件,并复制到部署的项目的bin目录。 那为我工作。

在我的情况下,我的项目不需要'Microsoft.ReportViewer.Common.dll'程序集,所以我只是删除所有的引用(项目 – >添加引用… – > …)(发布选项卡的所有要求VS2013自动删除),一切正常。