diff --git a/src/Microsoft.VisualStudio.LanguageServices.Razor/VisualStudioErrorReporterFactory.cs b/src/Microsoft.VisualStudio.LanguageServices.Razor/VisualStudioErrorReporterFactory.cs new file mode 100644 index 0000000000..5a59a5a77e --- /dev/null +++ b/src/Microsoft.VisualStudio.LanguageServices.Razor/VisualStudioErrorReporterFactory.cs @@ -0,0 +1,35 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Composition; +using Microsoft.CodeAnalysis.Host; +using Microsoft.CodeAnalysis.Host.Mef; +using Microsoft.CodeAnalysis.Razor; +using Microsoft.VisualStudio.Shell; + +namespace Microsoft.VisualStudio.LanguageServices.Razor +{ + [Shared] + [ExportWorkspaceServiceFactory(typeof(ErrorReporter), ServiceLayer.Host)] + internal class VisualStudioErrorReporterFactory : IWorkspaceServiceFactory + { + private readonly IServiceProvider _serviceProvider; + + [ImportingConstructor] + public VisualStudioErrorReporterFactory(SVsServiceProvider serviceProvider) + { + if (serviceProvider == null) + { + throw new ArgumentNullException(nameof(serviceProvider)); + } + + _serviceProvider = serviceProvider; + } + + public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices) + { + return new VisualStudioErrorReporter(_serviceProvider); + } + } +}