当在Razor ViewEngine中调用Parse方法时,会出现编译错误,如TemplateComplilationException,其中包含错误列表。这些错误引用了临时文件名,但是在访问它们之前文件被删除。Razor ViewEngine临时编译.cs文件
static void Main(string[] args)
{
var service = TemplateServiceFactory.CreateTemplateService(Language.CSharp, true);
string result = "";
try
{
result = service.Parse("Hello @DateTime.NowXX ");
}
catch (TemplateCompilationException ex)
{
foreach (var error in ex.Errors)
if (!string.IsNullOrEmpty(error.FileName))
Console.WriteLine(File.ReadAllText(error.FileName));
} // ^^^^ File does not exist!
Console.WriteLine(result);
Console.ReadKey();
}
(有点背景) 我用剃刀引擎“独立”没有MVC。当我打电话给Parse
时,我想获得尽可能详细的信息以显示给用户。
您是否尝试添加'FileSystemWatcher'来将.cs文件复制到执行/编译目录之外? – arootbeer 2012-01-16 16:46:50
无法让FileSystemWatcher为我启动。 – Mick 2014-03-03 23:58:05