Usando las características de asp.net mvc 2 con el motor de vista de chispa

Estoy trabajando con un proyecto ASP.NET MVC que se inició originalmente desde elCodeBetter.Canvas proyecto - y estoy tratando de pasar a ASP.NET MVC 2. Actualicé exitosamente mi proyecto usandoHerramienta de actualización de Eilon, movido a VS2010 (aunque todavía no a .NET 4).

El problema que tengo actualmente solo está ocurriendo al usar el motor de vista de chispa. Aquí está el bit relevante de código en mi View.spark (fuertemente tipado):

${Html.EditorFor(e => e)}

El mismo bit de código.funciona bien Si uso una vista .aspx:

<%= Html.EditorFor(e => e) %>

El punto principal aquí "EditorFor" es nuevo en ASP.NET MVC 2 y en mi proyecto puedo usar ese ayudante en una vista ASPX pero no en una vista Spark.

He intentadoactualizando Spark para usar MVC 2 (así como MvcContrib y Ninject), pensando que tal vez fue uno de los que se estaba volviendo loco, pero hasta ahora no hay suerte, todavía estoy viendo el mismo comportamiento.

Aquí está el mensaje de error completo que se emite desde la clase BatchCompiler de Spark.

La compilación de vista dinámica falló. (0,0): advertencia CS1701: Suponiendo la referencia de ensamblado 'System.Web.Mvc, Versión = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' coincide con 'System.Web.Mvc, Version = 2.0.0.0, Culture = neutral , PublicKeyToken = 31bf3856ad364e35 ', es posible que deba proporcionar la política de tiempo de ejecución c: \ inetpub \ wwwroot [myproject] \ CodeBetter.Canvas.Web \ Views [MyEntity] \ View.spark (9,16): error CS1061:' System.Web .Mvc.HtmlHelper 'no contiene una definición para' EditorFor 'y no se puede encontrar un método de extensión' EditorFor 'que acepte un primer argumento del tipo' System.Web.Mvc.HtmlHelper '(¿falta una directiva de uso o una referencia de ensamblaje? ?)

Aquí está el código relacionado con Spark en mi Global.asax:

var settings = new SparkSettings()
.AddNamespace("System")
.AddNamespace("System.Collections.Generic")
.AddNamespace("System.Web.Mvc")
.AddNamespace("System.Web.Mvc.Html")
.AddNamespace("MvcContrib.FluentHtml")
.AddNamespace("CodeBetter.Canvas")
.AddNamespace("CodeBetter.Canvas.Web")
.SetPageBaseType("ApplicationViewPage")
.SetAutomaticEncoding(true);

#if DEBUG
    settings.SetDebug(true);
#endif

var viewFactory = new SparkViewFactory(settings);
ViewEngines.Engines.Add(viewFactory);

Además, estoy haciendo referencia a System.Web.Mvc.Html en mi vista de chispa como se mencionóen otra respuesta SO.

<use namespace="System.Web.Mvc.Html" />

Respuestas a la pregunta(6)

Su respuesta a la pregunta