我正在尝试在asp.net中使用报表查看器并上传了我的网站。但是,当我加载包含报表查看器的页面时,它会显示以下错误:
无法加载文件或程序集“Microsoft.ReportViewer.WebForms,Version = 11.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91”或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
这是我第一次部署ASP.NET网站,所以我不确定是什么问题。
答案 0 :(得分:59)
这个链接给了我一个线索,我没有安装所需的更新(我有问题的版本nr,v11.0.0.0)
ReportViewer 2012 Update 'Gotcha' to be aware of
我安装了更新SQLServer2008R2SP2
我下载了ReportViewer.msi,需要安装Microsoft® System CLR Types for Microsoft® SQL Server® 2012 (look halfway down the page for installer)
GAC现已推出WebForms v11.0.0.0(C:\Windows\assembly\Microsoft.ReportViewer.WebForms
v11.0.0.0
以及Microsoft.ReportViewer.Common
v11.0.0.0
)
答案 1 :(得分:31)
我已经安装了Microsoft.ReportViewer.2012.Runtime nuget package并且问题已经解决而无需安装ReportViewer.msi或sql功能包12
答案 2 :(得分:22)
您需要引用Microsoft.ReportViewer.WebForms和Microsoft.ReportViewer.Common,并将CopyLocal属性设置为true。这将导致dll被复制到我们的bin目录(两者都是必需的)。
答案 3 :(得分:8)
我通过复制
解决了这个问题C:\Program Files (x86)\Microsoft Visual Studio 12.0\ReportViewer
的C:\Program Files\Microsoft Office\Office15\ADDINS\PowerPivot Excel Add-in
的进入bin文件夹(网站)。
当然web.config
必须:
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
</httpHandlers>
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
<add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</buildProviders>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</handlers>
</system.webServer>
就是这样。 对我来说还可以。
希望这有帮助。
答案 4 :(得分:1)
我遇到了同样的错误。我的Web应用程序指向报表查看器版本10.0,但是如果安装了11.0,它会将10.0 .dll中的重定向添加到11.0。当卸载11.0时,这会成为一个问题,因为这不会更正10.0 .dll中的重定向。在我的情况下修复只是卸载并重新安装10.0。
答案 5 :(得分:1)
I had this error when going from version 10.0.0.0, i.e. "Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
to version 11.0.0.0, i.e.
"Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
It took a while until I understood that not only the version was changed but also the public token key, as you can see above.
答案 6 :(得分:0)
将文件Microsoft.ReportViewer.WebForms.dll上传到您的Web应用程序的bin目录。
您可以在本地Web应用程序的bin目录中找到此dll文件。
答案 7 :(得分:0)
我在旧的webforms应用程序中遇到此错误。事实证明,标记中有一条线导致了这个问题。我删除了它,错误消失了。
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
答案 8 :(得分:0)
我对其他包有同样的错误。我的问题是依赖项目引用了不同的版本。我将它们改为同一版本,一切都很好。
答案 9 :(得分:0)
我的解决方案是:
我希望这可以提供帮助。
答案 10 :(得分:0)
我的DevExpress试用版已过期。尝试重新更新它。
答案 11 :(得分:0)
更新ReportViewer应该可以。请按照以下说明从Nuget Package Manager控制台安装更新的ReportViewer。
安装包 Microsoft.ReportingServices.ReportViewerControl.WebForms
只需在aspx文件中添加以下程序集引用即可。
在这里, 15.0.0.0 是在我的VS中安装的ReportViewerControl.WebForms的版本号。请检查解决方案参考以确认版本号。无需添加PublicTokens (如果存在多个安装,则可能会再次造成麻烦)。
答案 12 :(得分:0)
为了使用服务器上的数据在服务器上运行Report Viewer
A)转到项目属性---->选择参考------>添加参考
1)导入(Microsoft.ReportViewer.Common.dll)----->(路径“ C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ ReportViewer”)>
2)导入(Microsoft.ReportViewer.ProcessingObjectModel.dll)----->(路径“ C:\ Windows \ Assembly \ GAC_MSIL \ Microsoft.ReportViewer.ProcessingObjectModel”)
3)导入(Microsoft.ReportViewer.WebForms.dll)----->(路径“ C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ ReportViewer”)>
B)在上述三个DLL中,将其“本地副本”设置为True,以便在构建部署包时将其复制到“ Bin”文件夹。
C)发布解决方案
D)之后,借助“ File Zilla”软件将所有文件连同“ Bin”文件夹上载到“ Web Server”。
E),这将在服务器上安装DLL,因此,客户端不需要具有“ Report Viewer.dll”。
这对我有用。