如何在Asp.net MVC 6中使用NHaml(模板未找到错误)

ant*_*paw 9 c# asp.net asp.net-mvc mono asp.net-core-mvc

首先,我需要说我在Asp.net上的经验非常小,这就是为什么这个问题在某些方面会引起混淆的原因.我首先创建了https://code.visualstudio.com/Docs/ASPnet5 MVC6项目yo aspnet.然后我将这一行添加到project.json中的"dependencies"

"Microsoft.Framework.ConfigurationModel.Xml": "1.0.0-beta4",
"System.Web.NHaml.Mvc3": "4.0.8",
Run Code Online (Sandbox Code Playgroud)

然后我用这个Google代码内容创建了haml.xml,并在Startup.cs文件中扩展了以下行:

var configuration = new Configuration()
            .AddJsonFile("config.json")
            .AddXmlFile("haml.xml")
            .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true);
Run Code Online (Sandbox Code Playgroud)

这是我的控制器的样子:

public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View(@"~/Views/Shared/Test.haml");
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序启动,但我无法呈现操作,这是浏览器中显示的错误

处理请求时发生未处理的异常.

InvalidOperationException:找不到视图'〜/ Views/Shared/Test.haml'.搜索了以下位置:〜/ Views/Shared/Test.haml.Microsoft.AspNet.Mvc.Rendering.ViewEngineResult.EnsureSuccessful()[0x00000] in,第0行

但是此文件确实存在于此目录中.任何提示或帮助表示赞赏.


BOUNTY编辑:

基本上我想要的是一个非常简单的MVC 5或6项目的详细解释或工作示例,它使用NHaml或任何其他提供Haml语法的lib(如果它与osx上的Mono一起工作,这是一个奖励).坦克很多!

Jag*_*raj 3

我想知道 Haml 不支持 MVC5 和 MVC 6

因为 Haml View Engine 项目可能会终止。最后一次提交出现在 2013 年 2 月 25 日。此外,HAML视图引擎问题今天本身也没有解决。Haml 视图引擎在nuget中的最后一次发布是在 2013 年 2 月。所以这没有意义。

因此,您可以使用Spark View 引擎,它也支持 Mono。

Spark 还支持受Jade 和Haml等框架启发的“左偏移”语法

项目文档在这里

您还可以从Nuget安装二进制文件

Spark 还提供了配置视图引擎的示例。

祝你好运...

快乐编码。