3

XtraReportsを追加するための次のチュートリアルを使用して、MVC3Webアプリケーション「このアプリケーションは通常のMVC3アプリケーションでありDevExpressMVC3アプリケーションではありません」でDevExpressレポートを使用しようとしていますhttp://documentation.devexpress.com/#XtraReports/CustomDocument9974

問題は、追加しようとするたびにです

@Html.DevExpress().ReportToolbar(settings => {
// The following settings are necessary for a Report Toolbar. 
settings.Name = "ReportToolbar";
settings.ReportViewerName = "reportViewer1";
}).GetHtml()

DevExpress()でエラーが発生する

「System.Web.Mvc.HtmlHelper」には「DevExpress」の定義が含まれておらず、「System.Web.Mvc.HtmlHelper」タイプの最初の引数を受け入れる拡張メソッド「DevExpress」が見つかりませんでした(usingディレクティブがありませんか?またはアセンブリリファレンス?)

助言がありますか?!

4

1 に答える 1

5

プロジェクトにDevexpressコンポーネントを手動で登録するには、このリンクに記載されている手順を使用する必要があります。

方法:DevExpress拡張機能を手動で登録して、MVCWebアプリケーションでの使用を開始します

上記の手順で欠落しているのは、アセンブリバインディングリダイレクトだけでした。それがなければ、私は例外を取得していました:

[InvalidCastException: Unable to cast object of type 'System.Web.Mvc.HtmlHelper`1[System.Object]' to type 'System.Web.Mvc.HtmlHelper'.]

エラーを防ぐために、このセクションをメインのweb.configの<configuration>次の場所に追加しました。

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

これにより、古いMVCアセンブリバージョンがMVC 4にリダイレクトされます。MVC3の場合、bindingRedirect行は次のようになります。

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
于 2013-08-20T07:05:34.977 に答える