在控制台应用程序中使用Razor Engine

时间:2011-12-03 14:59:46

标签: razor console-application

我在控制台应用程序中使用Razor Engine from CodePlex。当我在VS 2010 IDE中以调试模式运行时,一切正常。从shell开始,即使是上面CodePlex页面上的示例中的简单2-liner也会失败。所以我不认为这是代码。异常消息尽可能通用:

RazorEngine.Templating.TemplateCompilationException: Unable to compile template.

所引用的所有DLL(在References部分中)都与工作目录一起存在,而.exe是控制台应用程序本身。我不会把整个列表放在这里,但是我认为这些是相关的: System.Web System.Web.Mvc System.Web .Razor RazorEngine 等等。我认为系统 System.Xml 等DLL甚至不需要在那里,但为了消除任何意外,我无论如何都将它们复制在那里。重点是将References部分中的任何内容复制到exe所在的工作目录中。令人惊讶的是它仍然无效。我怎样才能找出缺少的东西或者让这个东西起作用?

编辑我刚刚创建了一个裸骨控制台应用来展示我的观点。这是整个计划。正如我所提到的,它在IDE内部工作正常,而不是在shell中。

using System;
using RazorEngine;

namespace RazorEngineTest
{
    public class Program
    {
        public static void Main(string[] args)
        {            
            string template = "Hello @Model.Name! Welcome to Razor!";
            string result = Razor.Parse(template, new { Name = "World" });
            Console.WriteLine(result);
            Console.ReadLine();
        }
    }
}

1 个答案:

答案 0 :(得分:0)