0

私はMVC1プロジェクトで作業しており、いくつかの場所でHtml.RenderActionを使用しており、そのためにMicrosoft.Web.Mvcライブラリを参照しています。ローカルでは正常に動作しますが、サーバーにアップロードした瞬間に失敗します(ただし、ライブラリは正しい場所にあり、私が知る限り、適切に参照されています)。

このコンパイルエラーが発生します

コンパイラエラーメッセージ:CS1061:'System.Web.Mvc.HtmlHelper'には'RenderAction'の定義が含まれておらず、タイプ'System.Web.Mvc.HtmlHelper'の最初の引数を受け入れる拡張メソッド'RenderAction'が見つかりませんでした( usingディレクティブまたはアセンブリ参照がありませんか?)

System.Web.Mvc(それでも参照されます)ではなく、参照しているライブラリに付属していることは理解しましたが、実際には、ビューでHtml.RenderActionにカーソルを合わせると、System.Web.Mvc.HtmlHelpersを使用しているようです。このルートを明示的に書くことはできませんが

何か案が?

ありがとう

4

2 に答える 2

1

問題は、mvc 1 にデフォルトで RenderAction が存在しないことです。そのための外部アセンブリを取得する必要があります。以下の引用はこれを裏付けています。

RenderAction() は、MVC Futures アセンブリで定義されています。http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471からダウンロードできます 。プロジェクトの ~\Web.config に Microsoft.Web.Mvc 名前空間を必ずインポートしてください。

出典:当サイト

于 2012-06-08T13:34:38.713 に答える
0

わかりました、これが私が最終的にやったことです。

まず第一に、RhysW さんの回答に感謝します。Html.RenderAction を使用したことは言及しましたが、実際には System.Web.Mvc を使用していたことを明確に述べる必要があったことに気付きました。問題が起きるまで。なぜ私のローカルで機能したのかはわかりませんが、機能しました。

リモート マシンで動作させるために、コードを Microsoft.Web.Mvc.ViewExtensions.RenderAction に変更しました。Microsoft.Web.Mvc は冗長で不要です。

ありがとう

于 2012-06-08T19:51:01.777 に答える