Razor ViewEngineでParseメソッドを呼び出すと、コンパイルエラーは、エラーのリストを含むTemplateComplilationExceptionとしてスローされます。これらのエラーは一時的なファイル名を参照していますが、ファイルにアクセスする前にファイルが削除されます。
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なしでRazorエンジン「スタンドアロン」を使用しています。電話をかけるときはParse
、ユーザーに表示するためにできるだけ詳細な情報を取得したいと思います。