Report Viewer 10.0.0.0问题呈现报告

时间:2012-05-15 17:16:42

标签: sql reporting-services report viewer

执行此行时,我收到异常:

reportViewerControl.ServerReport.ReportServerCredentials = new ReportServerCredentials();

例外是

Entry point was not found.; Function = Void Process(); Exception = Exception Messages: Entry point was not found. | Stack: at Microsoft.Reporting.WebForms.IReportServerCredentials.get_ImpersonationUser() at Microsoft.Reporting.WebForms.ServerReport.OnCredentialsChanged(IReportServerCredentials credentials) at Microsoft.Reporting.WebForms.ServerReport.set_ReportServerCredentials(IReportServerCredentials value)

SSRS与IIS不在同一台服务器上。

我在SSRS服务器上拥有一个帐户,该帐户是SQL Reporting Services用户组的成员。

我可以直接浏览到我的报表服务器Web服务URL(来自Web服务器),提供上述帐户的凭据,并成功运行报表。

我最近从9.0.0.0升级到10.0.0.0。这不是9的问题。

我注意到当我在托管SSRS的服务器上安装Microsoft Report Viewer 2010 Redistributable Package时,GAC不包含Microsoft.ReportViewer.WebDesign或Microsoft.ReportViewer.Design的条目。

有关如何更正此例外的任何想法?

1 个答案:

答案 0 :(得分:3)

这个解决方案有点延迟,但希望它仍能节省一些时间。

我们的报告查看器(用于呈现报告的工具)已从9.0.0.0升级 - > 10.0.0.0。调用报表查看器时,将尝试9.0.0.0程序集,从而导致异常:

  

异常消息:找不到入口点

这是一个例外“当由于缺少入口方法而导致加载类失败时引发的异常”(http://msdn.microsoft.com/en-us/library/system.entrypointnotfoundexception.aspx )。

对我来说,快速解决方案是在web.config中添加一个条目,该条目将9.0.0.0的程序集请求绑定并重定向到10.0.0.0。下面的代码块就是一个例子。它需要位于dependentAssembly部分:

    <dependentAssembly>
        <assemblyIdentity name="Microsoft.ReportViewer.Common" publicKeyToken="B03F5F7F11D50A3A"/>
        <bindingRedirect oldVersion="9.0.0.0" newVersion="10.0.0.0"/>
    </dependentAssembly>
    <dependentAssembly>
        <assemblyIdentity name="Microsoft.ReportViewer.Webforms" publicKeyToken="B03F5F7F11D50A3A"/>
        <bindingRedirect oldVersion="9.0.0.0" newVersion="10.0.0.0"/>
    </dependentAssembly>