こんにちは。
ワクチン接種開始。
期待の星だぁ。
イスラエル、なぜ早い~
さて、日々のプログラミング作業。
動けばいいと思って
コード書いてると、次回の応用が効かない。
人に教えるシーンを、想像してコードを書く。
中身をキチンと理解する。
ASP.NETでレポート作成。
Report Viewer コントロール。
Web Form1個作るだけで、印刷はもちろん、
Excel、Word、PDF形式でダウンロード出来る。
チョー素晴らしいコントロール。
動かすまでのハードル高し。
デバッグ終わって、サーバーに展開したらエラー???!!!
2021-02-21 14:02:41.9973|ERROR|ApplicationBuilder|Application_Error:
Type: System.Configuration.ConfigurationErrorsException
Message: 要素 'buildProviders' はアプリケーション レベル以下では定義できません。
-------- web.config -----------
<system.web>
<compilation debug="true" targetFramework="4.6.1">
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</buildProviders>
<assemblies>
<add assembly="Microsoft.ReportViewer.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
<add assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</assemblies>
</compilation>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false"/>
</httpHandlers>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers>
<add name="ReportViewerWebControlHandler" verb="*" path="Reserved.ReportViewerWebControl.axd" preCondition="integratedMode" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</handlers>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
-------- report.aspx --------
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" Width="1400" Height="1000">
<LocalReport ReportPath="report1.rdlc">
</LocalReport>
</rsweb:ReportViewer>
解決策:
report.aspx画面の展開場所は、仮想フォルダトップじゃないとダメ。
サブフォルダに aspx を置くと叱られます。
メッセージの意味が分からず、
2時間かかりました。
トシですな。
チャンチャン♬