2

执行此行时出现异常:

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 的条目。

有关如何纠正此异常的任何想法?

4

1 回答 1

3

这个决议有点延迟,但希望它仍然可以节省一些时间。

我们的报告查看器(用于呈现报告的工具)从 9.0.0.0 -> 10.0.0.0 升级。调用 Report Viewer 时,将尝试 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>
于 2012-11-17T22:20:52.347 回答