【发布时间】:2012-01-12 04:50:39
【问题描述】:
我在控制台应用程序中使用Razor Engine from CodePlex。当我在 VS 2010 IDE 中以调试模式运行时,一切正常。从 shell 来看,即使是上述 CodePlex 页面示例中的简单 2-liner 也会失败。所以我不认为这是代码。异常消息尽可能通用:
RazorEngine.Templating.TemplateCompilationException: Unable to compile template.
所有引用的 DLL(在“参考”部分中)与控制台应用程序本身的 .exe 一起位于工作目录中。我不会把整个列表放在这里,但这里有一些我认为相关的:System.Web、System.Web.Mvc、System.Web .Razor、RazorEngine等。我认为System、System.Xml等DLL甚至不需要在那里,但为了消除任何意外,我还是把它们复制到了那里。关键是将参考部分中的任何内容复制到 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();
}
}
}
【问题讨论】: