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

Kev*_*nle 7 console-application razor

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

RazorEngine.Templating.TemplateCompilationException: Unable to compile template.
Run Code Online (Sandbox Code Playgroud)

引用的所有DLL(在References部分中)都与工作目录中的.exe一起存在,它是控制台应用程序本身.我不会把整个列表在这里,但这里有一些我认为是相关的:System.Web程序,System.Web.Mvc,System.Web.Razor,RazorEngine,等我不认为DLL文件,如系统,System.Xml等甚至需要在那里,但为了消除任何意外,我还是将它们复制到那里.重点是将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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)