質問

サイトをWindows 2003、IIS6 SQL 2005サーバーからWindows 2008、IIS7、およびSQL 2008を備えた新しいサーバーに移動しました。

レポートビューアーに問題があります。 再配布可能なReport Viewerをインストールしました(2005、2005sp、2008、2008spを試しました) IISのハンドラを

にマッピングしました
  

Reserved.ReportViewerWebControl.axd

入力する

  

Microsoft.Reporting.WebForms.HttpHandler、   Microsoft.ReportViewer.WebForms、   バージョン= 8.0.0.0、文化=中立、   PublicKeyToken = b03f5f7f11d50a3a

ただし、Webサイトでレポートを実行すると、次のエラーメッセージが表示されます。

  

アセンブリ「Microsoft.ReportViewer.WebForms、Version = 9.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a」からタイプ「Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler」をロードできませんでした。   説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細とコード内の原因については、スタックトレースを確認してください。

     

例外の詳細:System.TypeLoadException:アセンブリ「Microsoft.ReportViewer.WebForms、Version = 9.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a」からタイプ「Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler」をロードできませんでした。

困惑しています。アイデアはありますか?

役に立ちましたか?

解決

8.0.0.0ではなくバージョン9.0.0.0にマッピングする必要があると思います

他のヒント

この設定がライブサーバーweb.configにあることを確認する必要があります

<compilation debug="true">
<assemblies>
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</buildProviders>

 <httpHandlers>
 <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>

IIS 7で実行している場合、ハンドラーに実行権限もあることを確認する価値があります。

鉱山を設定した後、ハンドラーが500の例外をスローしていることがわかりました。詳しく見ると、ハンドラーをリストに追加するだけでは不十分なようです。また、デフォルトでは実行が許可されていないため、権限を編集する必要があります。ボックスをチェックして実行させ、問題をすぐに解決しました。

他の提案が機能しない場合は、これを試す価値があるかもしれません-

http:/ /social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/0152bb52-988d-43f5-9c3d-8d33512f46de/

  

<!> quot; IIS 7への移行には多くの問題がありました。   かなりのデバッグが必要でした。

     

最初の問題の解決:IIS 7アプリケーションのディレクトリ権限   プールID(デフォルトはNetwork Service)を追加する必要がありました   IISアプリケーションプールが物理パスにアクセスできること   ウェブサイトディレクトリの。

     

SECOND ISSUSE RESOLVED:ASP.Netに追加する必要がある行   アプリケーションweb.configファイル。後の子   

     

追加:

     

解決された3番目の問題インストール時のデフォルトのアプリプールには.Netがあります   デフォルトのフレームワーク2.0。これは大丈夫だった。既定のアプリプール設定   マネージドパイプラインモードの場合、「統合」から変更する必要があります   (デフォルト)を「クラシック」にすると、これはアプリを実行し続けるための簡単な修正でした   IIS 6にあったように。<!> quot;

マネージパイプラインモードを<!> quot; classic <!> quotに変更します。私のためにそれを修正しました。

この問題はしばらくの間解決されたようですが、検索しているユーザーの場合:

エラーで参照されているアセンブリに注意してください:

Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler

It should は単にMicrosoft.Reporting.WebForms.HttpHandlerである-web.configで両者がどうなってしまったのかは疑わしいが、IISでハンドラーを手動で作成し、IISに書き込むことと関係があるかもしれないアプリのweb.configへのハンドラーキー(もちろん、今では再現できません)。

IIS7に移行する場合、ハンドラーマッピングは以前のバージョンのように<system.webServer> <handlers>ではなく<system.web> <httpHandlers>に存在することに注意してください。 IIS7は古いhttpHandlersセクションを無視しますが、設定を習慣からチェックし、設定が有効になっていないことに不満を感じるかもしれません。

プロジェクトのBinフォルダにCommanClassLibrary.dllを含め、aspxページと設定ファイルでReportViewer Web Controlのバージョンが同じであることを確認してください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top