diff --git a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory.cs b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory.cs index 47c65ecb880..936affbe1e4 100644 --- a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory.cs +++ b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory.cs @@ -29,10 +29,13 @@ public RazorProjectEngine Create( var extension = new AssemblyExtension(configuration.ConfigurationName, Assembly.Load(assemblyName)); var initializer = extension.CreateInitializer(); - return RazorProjectEngine.Create(configuration, fileSystem, b => + return RazorProjectEngine.Create(configuration, fileSystem, builder => { - initializer.Initialize(b); - configure?.Invoke(b); + PreInitialize(builder); + initializer.Initialize(builder); + configure?.Invoke(builder); }); } + + protected virtual void PreInitialize(RazorProjectEngineBuilder builder) { } } diff --git a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory_3_0.cs b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory_3_0.cs index c729ced663d..fe87d2e0093 100644 --- a/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory_3_0.cs +++ b/src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer.Common/ProjectEngineFactory_3_0.cs @@ -1,9 +1,14 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the MIT license. See License.txt in the project root for license information. +using Microsoft.AspNetCore.Razor.Language; +using Microsoft.CodeAnalysis.Razor; + namespace Microsoft.AspNetCore.Razor.LanguageServer.Common; internal class ProjectEngineFactory_3_0 : ProjectEngineFactory { protected override string AssemblyName { get; } = "Microsoft.AspNetCore.Mvc.Razor.Extensions"; + + protected override void PreInitialize(RazorProjectEngineBuilder builder) => CompilerFeatures.Register(builder); }