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とは異なるサーバー上にあります。

SQLReportingServicesユーザーグループのメンバーであるSSRSサーバーにアカウントがあります。

(Webサーバーから)レポートサーバーWebサービスのURLを直接参照し、上記のアカウントから資格情報を提供して、レポートを正常に実行することができます。

最近、9.0.0.0から10.0.0.0にアップグレードしました。これは9の問題ではありませんでした。

SSRSをホストしているサーバーにMicrosoftReportViewer 2010再頒布可能パッケージをインストールしたときに、GACにMicrosoft.ReportViewer.WebDesignまたはMicrosoft.ReportViewer.Designのエントリが含まれていないことに気付きました。

この例外を修正する方法について何かアイデアはありますか?

4

1 に答える 1

3

この解決は少し遅れていますが、うまくいけば、それでも誰かの時間を節約できます。

レポートビューア(レポートのレンダリングに使用されるツール)が9.0.0.0->10.0.0.0からアップグレードされました。レポートビューアが呼び出されると、9.0.0.0アセンブリが試行され、例外が発生します。

例外メッセージ:エントリポイントが見つかりませんでした

これは、「エントリメソッドがないためにクラスのロードに失敗した場合にスローされる」例外です(http://msdn.microsoft.com/en-us/library/system.entrypointnotfoundexception.aspx)。

私にとっての迅速な解決策は、9.0.0.0から10.0.0.0へのアセンブリ要求をバインドおよびリダイレクトするエントリをweb.configに追加することでした。以下のコードブロックはその一例です。これは、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 に答える