【发布时间】:2015-06-21 14:29:23
【问题描述】:
首先我要说的是,我对 Asp.net 的经验非常少,这就是为什么这个问题在某些地方可能会让人感到困惑。
我首先通过yo aspnet 创建了https://code.visualstudio.com/Docs/ASPnet5 一个MVC6 项目。然后我将此行添加到 project.json 中的“依赖项”
"Microsoft.Framework.ConfigurationModel.Xml": "1.0.0-beta4",
"System.Web.NHaml.Mvc3": "4.0.8",
然后我使用this Google code content 创建了haml.xml,并在Startup.cs 文件中扩展了以下行:
var configuration = new Configuration()
.AddJsonFile("config.json")
.AddXmlFile("haml.xml")
.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true);
这是我的控制器的样子:
public class HomeController : Controller
{
public IActionResult Index()
{
return View(@"~/Views/Shared/Test.haml");
}
}
应用程序启动,但我无法呈现动作,这是浏览器中显示的错误
处理请求时发生未处理的异常。
InvalidOperationException:视图 '~/Views/Shared/Test.haml' 不是 成立。搜索了以下位置: ~/Views/Shared/Test.haml。 Microsoft.AspNet.Mvc.Rendering.ViewEngineResult.EnsureSuccessful() [0x00000] 在第 0 行
但是这个文件确实存在于这个目录中。任何提示或帮助表示赞赏。
赏金编辑:
基本上,我想要的是一个非常简单的 MVC 5 或 6 项目的详细解释或工作示例,该项目使用 NHaml 或任何其他提供 Haml 语法的库(如果它与 osx 上的 Mono 一起使用,那是一个奖励)。坦克很多!
【问题讨论】:
-
它是 mvc 4,我按照说明进行操作但无法做到,因为我不知道 mvc 5 或 6 中的
ViewEngines.Engines的位置和方式。 -
NHaml wiki 链接来自 2009 年。我们谈论的是 MVC 框架的古老版本。首先撤消那里应用的所有内容。
-
NHaml View Engine 的最后一版发布于 2013 年 1 月。一直以来的下载量都低于 500。 nuget.org/packages/System.Web.NHaml.Mvc3 View Engine 从未流行起来,Razor 是主要使用。 MVC 6 已配置为使用您想要的任何 View Engine,但 99% 的可能性是第一个尝试使用 MVC 6 的人。由于 Asp.Net 5 仍然是 RC,我怀疑 Microsoft 是否添加了对此的支持。你必须自己实现它。
标签: c# asp.net asp.net-mvc mono asp.net-core-mvc