无法加载文件或程序集'Microsoft.ReportViewer.Common,Version = 11.0.0.0

时间:2014-03-07 15:03:53

标签: c# asp.net .net visual-studio-2012 reporting-services

我最近将我的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安装新的运行时水晶报告。 安装上面的软件包后,我不得不解决一些不推荐使用的函数和属性 CrystalViewer之后在开发环境中正确报告呈现(Windows 7 64位,SQL Server 2005,Visual Studio 2012)。当我在测试环境windows server 2008 R2中部署包时 应用程序无法通过抛出错误加载 无法加载文件或程序集 Microsoft.ReportViewer.WebForms,Version = 11

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

13 个答案:

答案 0 :(得分:50)

不知道这对任何人都有好处,但要搜索所有这些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 :(得分:29)

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

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

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

答案 2 :(得分:25)

As Microsoft.ReportViewer.2012.Runtime has Microsoft.ReportViewer.WebForms, Microsoft.ReportViewer.Common and Microsoft.ReportViewer.ProcessingObjectModel libraries, just run this command on PM Console:

Install-Package Microsoft.ReportViewer.2012.Runtime

Note : If you want to completely remove the old Microsoft.ReportViewer.xxx references, you can remove them from Manage NuGet Packages>Installed Packages menu and then remove the related lines from packages.config file in your project. After that it will not comeback again during building of the project.

Hope this helps...

答案 3 :(得分:9)

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

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

Visual Studio 2015中出现了这个问题。

<强>原因:

缺少对Microsoft.ReportViewer.Webforms dll的引用。

可能的修复

<强>步骤1:

添加&#34; Microsoft.ReportViewer.Webforms.dll&#34;解决方案。

导航到Nuget Package Manager控制台

&#34;工具 - &gt; NugetPackageManager - &gt;包管理器控制台&#34;。

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

PM&gt; Install-Package Microsoft.ReportViewer.Runtime.WebForms

然后它会在&#34; .. \ packages \ Microsoft.ReportViewer.Runtime.WebForms.12.0.2402.15 \ lib&#34;中安装Reportviewer.webforms dll。 (您的项目文件夹路径)

和ReportViewer.Runtime.Common dll在&#34; .. \ packages \ Microsoft.ReportViewer.Runtime.Common.12.0.2402.15 \ lib&#34;中。 (您的项目文件夹路径)

<强>步骤2: -

删除&#34; Microsoft.ReportViewer.WebForms&#34;的现有引用。 我们需要在我们的解决方案中引用这些dll文件作为&#34;右键单击解决方案&gt;参考 - &gt;添加参考 - &gt;浏览&#34;。 添加上述路径中的dll文件。

第3步:

更改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

另请参阅以下链接。

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

答案 4 :(得分:8)

您也可以下载nuget package

答案 5 :(得分:3)

我对Winforms有同样的问题。

我的解决方案是:

Install-Package Microsoft.ReportViewer.Runtime.Winforms

答案 6 :(得分:2)

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

答案 7 :(得分:1)

在安装项目的先决条件中添加Microsot.ReportViewer 2010或2012,然后它首先安装Report Viewer,如果它不存在于&#34; C:\ Windows \ assembly \ GAC_MSIL ...&#34;安装完成后,安装设置项目

答案 8 :(得分:0)

我有同样的问题。

我的解决方案是:

您必须具有相同版本:Microsoft.ReportViewer.ProcessingObjectModel在C:\ Windows \ assembly \ GAC_MSIL \ Microsoft.ReportViewer.ProcessingObjectModel中注册, 就像你在开发者服务器的web.config中注册了一样:

enter image description here

在我的情况下,我只在我的制作服务器中注册了13.版本,并且在开发者服务器中有12.版本。

解决方案是在生产服务器中安装版本12.

版本12:

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

然后现在我在制作中有版本12.报告工作正常。

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

enter image description here

答案 9 :(得分:0)

我解决了这个问题,在C:\ Windows \ assembly \ GAC_MSIL \中搜索dll的文件并复制到部署的proyect的bin目录中。那对我有用。

答案 10 :(得分:0)

在我的情况下,&#39; Microsoft.ReportViewer.Common.dll&#39;我的项目不需要汇编,所以我只删除了所有引用(Project - &gt; Add Reference ... - &gt; ...)(自动删除VS2013的Publish选项卡中的所有要求)并且一切正常。

答案 11 :(得分:0)

虽然相当晚,但您可以通过以下链接从nuget手动下载所需的DLL: https://www.nuget.org/packages/Microsoft.ReportViewer.Runtime.Common/12.0.2402.15

打开文件.Rar Archive,提取dll并手动将它们复制到发布的bin文件夹中。

这个解决方案对我有用。希望有所帮助!!

答案 12 :(得分:0)

我通过下载reportviewer.exe并安装来解决该问题。 安装后,所有相关的程序集都将在C:\ Windows \ assembly \ GAC_MSIL中可用,然后您可以在Web配置中引用它