Razor compilation considerably slower in .NET 4.6/Roslyn than 4.5

Viewed 541

I'm compiling some Razor view with the below (pseudo) code:

var host = new RazorEngineHost(new CSharpRazorCodeLanguage());
var engine = new RazorTemplateEngine(host);
var razorResult = engine.GenerateCode(reader, viewTypeName, "", null);
var compilerParameters = new CompilerParameters(assemblies.ToArray(), outputAssemblyName);
compilerParameters.TempFiles.KeepFiles = false;
var codeProvider = new CSharpCodeProvider();
var compilationResults = codeProvider.CompileAssemblyFromDom(compilerParameters, razorResult.GeneratedCode);

In .NET 4.5 this took 10s of ms for a reasonably complex view. Since upgrading to .NET 4.6, this now takes seconds :(

I'm referencing Microsoft.CodeDom.Providers.DotNetCompilerPlatform

What's changed? Is there anything I can do?

0 Answers
Related