/// <summary> /// Initalizes a new instance of the <see cref="RoslynCompilationService"/> class. /// </summary> /// <param name="environment">The environment for the executing application.</param> /// <param name="libraryExporter">The library manager that provides export and reference information.</param> /// <param name="host">The <see cref="IMvcRazorHost"/> that was used to generate the code.</param> /// <param name="optionsAccessor">Accessor to <see cref="RazorViewEngineOptions"/>.</param> /// <param name="fileProviderAccessor">The <see cref="IRazorViewEngineFileProviderAccessor"/>.</param> public RoslynCompilationService( IApplicationEnvironment environment, Extensions.CompilationAbstractions.ILibraryExporter libraryExporter, IMvcRazorHost host, IOptions<RazorViewEngineOptions> optionsAccessor, IRazorViewEngineFileProviderAccessor fileProviderAccessor, ILoggerFactory loggerFactory) { _environment = environment; _libraryExporter = libraryExporter; _applicationReferences = new Lazy<List<MetadataReference>>(GetApplicationReferences); _fileProvider = fileProviderAccessor.FileProvider; _classPrefix = host.MainClassNamePrefix; _compilationCallback = optionsAccessor.Value.CompilationCallback; _parseOptions = optionsAccessor.Value.ParseOptions; _compilationOptions = optionsAccessor.Value.CompilationOptions; _logger = loggerFactory.CreateLogger<RoslynCompilationService>(); #if DOTNET5_5 _razorLoadContext = new RazorLoadContext(); #endif }
/// <summary> /// Initalizes a new instance of the <see cref="RoslynCompilationService"/> class. /// </summary> /// <param name="environment">The environment for the executing application.</param> /// <param name="libraryExporter">The library manager that provides export and reference information.</param> /// <param name="host">The <see cref="IMvcRazorHost"/> that was used to generate the code.</param> /// <param name="optionsAccessor">Accessor to <see cref="RazorViewEngineOptions"/>.</param> /// <param name="fileProviderAccessor">The <see cref="IRazorViewEngineFileProviderAccessor"/>.</param> public RoslynCompilationService( IApplicationEnvironment environment, Extensions.CompilationAbstractions.ILibraryExporter libraryExporter, IMvcRazorHost host, IOptions <RazorViewEngineOptions> optionsAccessor, IRazorViewEngineFileProviderAccessor fileProviderAccessor, ILoggerFactory loggerFactory) { _environment = environment; _libraryExporter = libraryExporter; _applicationReferences = new Lazy <List <MetadataReference> >(GetApplicationReferences); _fileProvider = fileProviderAccessor.FileProvider; _classPrefix = host.MainClassNamePrefix; _compilationCallback = optionsAccessor.Value.CompilationCallback; _parseOptions = optionsAccessor.Value.ParseOptions; _compilationOptions = optionsAccessor.Value.CompilationOptions; _logger = loggerFactory.CreateLogger <RoslynCompilationService>(); #if DOTNET5_5 _razorLoadContext = new RazorLoadContext(); #endif }