/// <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
        }
Exemple #2
0
        /// <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
        }