using NCC.Dependency; using Microsoft.CodeAnalysis; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; namespace NCC.ViewEngine { /// /// 视图引擎模板编译异常类 /// [SuppressSniffer] public class ViewEngineTemplateException : ViewEngineException { /// /// 构造函数 /// public ViewEngineTemplateException() { } /// /// 构造函数 /// /// /// protected ViewEngineTemplateException(SerializationInfo info, StreamingContext context) : base(info, context) { } /// /// 构造函数 /// /// public ViewEngineTemplateException(Exception innerException) : base(null, innerException) { } /// /// 错误信息 /// public List Errors { get; set; } /// /// 生成的代码 /// public string GeneratedCode { get; set; } /// /// 重写异常消息 /// public override string Message => $"Unable to compile template: {string.Join("\n", Errors.Where(w => w.IsWarningAsError || w.Severity == DiagnosticSeverity.Error))}"; } }