无法设置asp.net mvc 2 RC和spark视图引擎

时间:2010-01-26 09:49:12

标签: asp.net asp.net-mvc-2 spark-view-engine

omebody是否有想法如何修复“未找到方法:'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

渴望所有人。

3 个答案:

答案 0 :(得分:2)

我必须下载spark视图引擎源代码(http://sparkviewengine.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27600)。一旦我这样做,我就浏览了每个参与1.0版System.Web.Mvc程序集的项目,并更新为引用指向System.Web.Mvc 2.0。从那里你可以构建解决方案(在visual studio中),你会发现一大堆测试开始失败。您可以尝试修复它们(通过添加您现在需要的其他TextWriter参数)。您还将看到SparkView.cs文件抱怨缺少参数。在Render方法(我下载的源代码的第100行)中,我不得不更新wrappedViewContext的实例化,使其看起来像这样(将writer添加到参数列表的末尾):

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并将它们添加到您的网站。事情应该再次发挥作用。

答案 1 :(得分:1)

在回答这个问题时,可以在sparkviewengine.codeplex.com上找到MVC 2 RC2位。

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

实际上是来自R0MANARMY提到的帖子中的Erik,他帮助那些东西。

答案 2 :(得分:0)

看起来您也可以从here下载已编译的二进制文件。正如帖子所说,它不是最终(或官方)版本,但至少看起来单元测试通过了。