2

誰かが「メソッドが見つかりません:」Void System.Web.Mvc.ViewContext..ctor(System.Web.Mvc.ControllerContext、System.Web.Mvc.IView、System.Web.Mvc.ViewDataDictionary、System .Web.Mvc.TempDataDictionary)'。 " 例外。このソリューションは機能しませんhttp://dotnetslackers.com/articles/aspnet/installing-the-spark-view-engine-into-asp-net-mvc-2-preview-2.aspx

すべての人に感謝します。

4

3 に答える 3

2

Spark Viewエンジンのソースコードをダウンロードする必要がありました(http://sparkviewengine.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27600)。それが済んだら、1.0バージョンのSystem.Web.Mvcアセンブリへの参照があり、System.Web.Mvc2.0を指すように更新された各プロジェクトを実行しました。そこから(ビジュアルスタジオで)ソリューションを構築でき、一連のテストが失敗し始めることがわかります。それらの修正を試みることができます(追加のTextWriterパラメーターを追加することで必要になります)。また、SparkView.csファイルがパラメーターの欠落について文句を言っていることもわかります。Renderメソッド(ダウンロードしたソースコードの100行目)では、wrappedViewContextのインスタンス化を次のように更新する必要がありました(パラメーターのリストの最後にライターを追加します)。

public void Render(ViewContext viewContext, TextWriter writer)
{
    var wrappedHttpContext = new HttpContextWrapper(viewContext.HttpContext, this);

    var wrappedViewContext = new ViewContext(
        new ControllerContext(wrappedHttpContext, viewContext.RouteData, viewContext.Controller),
        viewContext.View,
        viewContext.ViewData,
        viewContext.TempData,
        writer); //  <-- add the writer to the end of the list of parameters

    ...
}

コードが更新されたら、ダウンロードしたソースのルートにあるbuild.cmdスクリプトを実行できます。ビルドプロセスにより、build/distフォルダーにzipファイルが作成されます。それらの新しいdllを取得し、Webサイトに追加します。物事は再び機能するはずです。

于 2010-02-01T04:33:10.427 に答える
1

この回答の時点で、MVC2RC2ビットはsparkviewengine.codeplex.comで入手できます。

http://sparkviewengine.codeplex.com/releases/view/41143

それらのビットを世に出すのを助けたのは、実際にはR0MANARMYによって言及された投稿のErikでした。

于 2010-03-04T20:10:48.720 に答える
0

ここからコンパイル済みのバイナリをダウンロードすることもできるようです。投稿にあるように、これは最終(または公式)リリースではありませんが、少なくとも単体テストは合格しているようです。

于 2010-02-25T04:35:53.523 に答える