无法加载文件或程序集“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.WebForms
, Microsoft.ReportViewer.Common
和Microsoft.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.:
那么现在我有版本12.在生产和报告工作正常。
***请记住在安装后重置您的IIS
在这里input图像说明
我解决了这个问题,searchC:\ Windows \ assembly \ GAC_MSIL \中的dll文件,并复制到部署的项目的bin目录。 那为我工作。
在我的情况下,我的项目不需要'Microsoft.ReportViewer.Common.dll'程序集,所以我只是删除所有的引用(项目 – >添加引用… – > …)(发布选项卡的所有要求VS2013自动删除),一切正常。