尝试使用Nustache来共享客户端和服务器胡子模板,但Nustache只是不能很好地使用我的应用程序。我在源代码中直接使用了他们的MVC应用程序示例中的代码,但每次尝试设置或添加视图引擎时都会出错。这是一个代码片段(来自一个动作方法,我也尝试在global.asax中全局添加视图引擎并出现同样的错误):
ViewResult viewResult = View(new { test = "Jawesome" });
viewResult.ViewEngineCollection = new ViewEngineCollection
{
new NustacheViewEngine()
};
这是错误:
[ArrayTypeMismatchException: Attempted to access an element as a type incompatible with the array.]
System.Collections.Generic.List`1.Insert(Int32 index, T item) +62
MyController.Index() in C:\src\projects\myproject\myproject.Web\Controllers\MyController.cs:83
lambda_method(Closure , ControllerBase , Object[] ) +79
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +264
...
答案 0 :(得分:1)
我正在使用Nustache的MVC4,我遇到了完全相同的问题。我花了一段时间来弄清楚这个问题,我在网上找不到任何解决方案,所以我想我会发布我的解决方案,希望能帮助别人。
问题是Nustache.Mvc3项目是从MVC3引用System.Web和System.Web.Mvc所以我不得不更新它们以使用MVC4。要做到这一点: 1.在Visual Studio中,右键单击Nustache.Mvc3项目,然后选择“属性” 2.在Applicaiton选项卡中,将Target Framework更改为.Net Framework 4.5 3.返回解决方案资源管理器,删除Nustache.Mv3中引用下的System.Web和System.Web.Mvc 4.右键单击“参考”并为System.Web和System.Web.Mvc
添加4.0版