2011-12-03 23 views
6

Używam Razor Engine from CodePlex w aplikacji konsolowej. Po uruchomieniu w trybie debugowania w IDS VS 2010 wszystko działa. Z powłoki nawet prosta 2-liniowa w przykładzie na powyższej stronie CodePlex nie działa. Więc nie sądzę, że to kod. Komunikat Wyjątkiem jest jako rodzajowy, jak to może być:Używanie mechanizmu Razor Engine w aplikacji konsoli

RazorEngine.Templating.TemplateCompilationException: Unable to compile template. 

Wszystkie biblioteki DLL, które są określone (w sekcji referencje) istnieją w katalogu roboczym wraz z rozszerzeniem .exe, który jest aplikacja sama konsola. I nie będzie można umieścić całą listę tutaj, ale tutaj są pewne, że myślę, że są istotne: system.Web, System.Web.Mvc, System.Web.Razor, RazorEngine, itd. I don Uważam, że biblioteki DLL, takie jak System, System.Xml, itp., muszą tam być, ale aby wyeliminować jakiekolwiek niespodzianki, i tak je tam skopiowałem. Chodzi o to, cokolwiek jest w sekcji Referencje, jest kopiowane do katalogu roboczego, gdzie znajduje się exe. Zaskoczenie, że nadal nie działa. Jak mogę wyśledzić, czego brakuje lub po prostu sprawić, aby to coś działało?

Edytuj Właśnie utworzyłem aplikację konsoli do szkieletu kostnego, aby pokazać mój punkt widzenia. Oto cały program. Jak już wspomniałem, działa dobrze od wewnątrz IDE, a nie w powłoce.

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(); 
     } 
    } 
} 

Odpowiedz

Powiązane problemy