Использование Razor Engine в консольном приложении - PullRequest
7 голосов
/ 03 декабря 2011

Я использую Razor Engine от CodePlex в консольном приложении. Когда я работаю в режиме отладки в VS 2010 IDE, все работает. Из оболочки даже простой 2-строчный код в примере на приведенной выше странице CodePlex дает сбой. Так что я не думаю, что это код. Сообщение об исключении настолько универсально, насколько это возможно:

RazorEngine.Templating.TemplateCompilationException: Unable to compile template.

Все библиотеки DLL, на которые ссылаются (в разделе «Ссылки»), находятся в рабочем каталоге вместе с .exe, который является самим консольным приложением. Я не буду помещать весь список здесь, но вот некоторые, которые я считаю уместными: System.Web , System.Web.Mvc , System.Web.Razor , RazorEngine и т. Д. Я не думаю, что такие библиотеки DLL, как System , System.Xml и т. Д., Даже должны быть там, но для устранения любых Сюрприз, я все равно скопировал их туда. Дело в том, что все, что находится в разделе «Ссылки», копируется в рабочий каталог, где находится исполняемый файл. Сюрприз в том, что он все еще не работает. Как я могу отследить, чего не хватает, или просто заставить эту вещь работать?

Редактировать Я только что создал консольное приложение без косточек, чтобы продемонстрировать свою точку зрения. Вот и вся программа. Как я уже говорил, он отлично работает внутри IDE, а не в оболочке.

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 голосов
/ 09 декабря 2011

См. Эти связанные элементы:
http://razorengine.codeplex.com/discussions/248593
http://razorengine.codeplex.com/workitem/532

В основном это исправлено в RazorEngine v3
http://razorengine.codeplex.com/releases/view/77431

...