using System; using System.Collections.Generic; using System.Linq; namespace Microsoft.AspNet.CoreServices { public class CompilationFailedException : Exception { public CompilationFailedException(IEnumerable messages, string generatedCode) : base(FormatMessage(messages)) { Messages = messages.ToList(); GeneratedCode = generatedCode; } public string GeneratedCode { get; private set; } public IEnumerable Messages { get; private set; } public string CompilationSource { get { return GeneratedCode; } } public override string Message { get { return "Compilation Failed:" + FormatMessage(Messages); } } private static string FormatMessage(IEnumerable messages) { return String.Join(Environment.NewLine, messages); } } }