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。
渴望所有人。
答案 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下载已编译的二进制文件。正如帖子所说,它不是最终(或官方)版本,但至少看起来单元测试通过了。