执行此行时,我收到异常:
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的条目。
有关如何更正此例外的任何想法?
答案 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>