Beispiel #1
0
        internal DotNetFunctionInvoker(ScriptHost host,
                                       FunctionMetadata functionMetadata,
                                       Collection <FunctionBinding> inputBindings,
                                       Collection <FunctionBinding> outputBindings,
                                       IFunctionEntryPointResolver functionEntryPointResolver,
                                       ICompilationServiceFactory <ICompilationService <IDotNetCompilation>, IFunctionMetadataResolver> compilationServiceFactory,
                                       ILoggerFactory loggerFactory,
                                       IMetricsLogger metricsLogger,
                                       ICollection <IScriptBindingProvider> bindingProviders,
                                       IFunctionMetadataResolver metadataResolver = null)
            : base(host, functionMetadata, loggerFactory)
        {
            _metricsLogger = metricsLogger;
            _functionEntryPointResolver = functionEntryPointResolver;
            _metadataResolver           = metadataResolver ?? CreateMetadataResolver(host, bindingProviders, functionMetadata, FunctionLogger);
            _compilationService         = compilationServiceFactory.CreateService(functionMetadata.Language, _metadataResolver);
            _inputBindings    = inputBindings;
            _outputBindings   = outputBindings;
            _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name;
            _functionMetadata = functionMetadata;

            InitializeFileWatcher();

            _functionLoader = new FunctionLoader <MethodInfo>(CreateFunctionTarget);

            _reloadScript = ReloadScriptAsync;
            _reloadScript = _reloadScript.Debounce();

            _onReferencesChanged = OnReferencesChanged;
            _onReferencesChanged = _onReferencesChanged.Debounce();

            _restorePackages = RestorePackages;
            _restorePackages = _restorePackages.Debounce();
        }
        internal DotNetFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata,
                                       Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings,
                                       IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader,
                                       ICompilationServiceFactory compilationServiceFactory)
            : base(host, functionMetadata)
        {
            _functionEntryPointResolver = functionEntryPointResolver;
            _assemblyLoader             = assemblyLoader;
            _metadataResolver           = new FunctionMetadataResolver(functionMetadata, host.ScriptConfig.BindingProviders, TraceWriter);
            _compilationService         = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver);
            _inputBindings    = inputBindings;
            _outputBindings   = outputBindings;
            _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name;
            _metrics          = host.ScriptConfig.HostConfig.GetService <IMetricsLogger>();

            InitializeFileWatcher();

            _resultProcessor = CreateResultProcessor();

            _functionValueLoader = FunctionValueLoader.Create(CreateFunctionTarget);

            _reloadScript = ReloadScript;
            _reloadScript = _reloadScript.Debounce();

            _restorePackages = RestorePackages;
            _restorePackages = _restorePackages.Debounce();
        }
        internal DotNetFunctionInvoker(ScriptHost host, FunctionMetadata functionMetadata,
            Collection<FunctionBinding> inputBindings, Collection<FunctionBinding> outputBindings,
            IFunctionEntryPointResolver functionEntryPointResolver, FunctionAssemblyLoader assemblyLoader,
            ICompilationServiceFactory compilationServiceFactory, ITraceWriterFactory traceWriterFactory = null)
            : base(host, functionMetadata, traceWriterFactory)
        {
            _metricsLogger = Host.ScriptConfig.HostConfig.GetService<IMetricsLogger>();
            _functionEntryPointResolver = functionEntryPointResolver;
            _assemblyLoader = assemblyLoader;
            _metadataResolver = new FunctionMetadataResolver(functionMetadata, host.ScriptConfig.BindingProviders, TraceWriter);
            _compilationService = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver);
            _inputBindings = inputBindings;
            _outputBindings = outputBindings;
            _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name;

            InitializeFileWatcher();

            _resultProcessor = CreateResultProcessor();

            _functionLoader = new FunctionLoader<MethodInfo>(CreateFunctionTarget);

            _reloadScript = ReloadScript;
            _reloadScript = _reloadScript.Debounce();

            _restorePackages = RestorePackages;
            _restorePackages = _restorePackages.Debounce();
        }
Beispiel #4
0
 public TestRazorCompilationService(
     ICompilationService compilationService,
     IMvcRazorHost razorHost,
     IOptions <RazorViewEngineOptions> viewEngineOptions)
     : base(compilationService, razorHost, viewEngineOptions)
 {
 }
        internal NodeFunctionInvoker(ScriptHost host, BindingMetadata trigger, FunctionMetadata functionMetadata,
                                     Collection <FunctionBinding> inputBindings, Collection <FunctionBinding> outputBindings,
                                     ICompilationService <IJavaScriptCompilation> compilationService)
            : base(host, functionMetadata)
        {
            _trigger            = trigger;
            _inputBindings      = inputBindings;
            _outputBindings     = outputBindings;
            _entryPoint         = functionMetadata.EntryPoint;
            _compilationService = compilationService;

            // If the compilation service writes to the common file system, we only want the primary host to generate
            // compilation output
            if (_compilationService.PersistsOutput)
            {
                _compilationService = new ConditionalJavaScriptCompilationService(Host.SettingsManager, compilationService, () => Host.IsPrimary);
            }

            _functionLoader = new FunctionLoader <ScriptFunc>(CreateFunctionTarget);
            _metricsLogger  = Host.ScriptConfig.HostConfig.GetService <IMetricsLogger>();

            _reloadScript = ReloadScriptAsync;
            _reloadScript = _reloadScript.Debounce();

            InitializeFileWatcherIfEnabled();
        }
 public TestRazorCompilationService(
     ICompilationService compilationService,
     IMvcRazorHost razorHost,
     IOptions<RazorViewEngineOptions> viewEngineOptions)
     : base(compilationService, razorHost, viewEngineOptions)
 {
 }
Beispiel #7
0
        internal DotNetFunctionInvoker(ScriptHost host,
                                       FunctionMetadata functionMetadata,
                                       Collection <FunctionBinding> inputBindings,
                                       Collection <FunctionBinding> outputBindings,
                                       IFunctionEntryPointResolver functionEntryPointResolver,
                                       FunctionAssemblyLoader assemblyLoader,
                                       ICompilationServiceFactory <ICompilationService <IDotNetCompilation>, IFunctionMetadataResolver> compilationServiceFactory,
                                       IFunctionMetadataResolver metadataResolver = null)
            : base(host, functionMetadata)
        {
            _metricsLogger = Host.ScriptConfig.HostConfig.GetService <IMetricsLogger>();
            _functionEntryPointResolver = functionEntryPointResolver;
            _assemblyLoader             = assemblyLoader;
            _metadataResolver           = metadataResolver ?? CreateMetadataResolver(host, functionMetadata, TraceWriter);
            _compilationService         = compilationServiceFactory.CreateService(functionMetadata.ScriptType, _metadataResolver);
            _inputBindings    = inputBindings;
            _outputBindings   = outputBindings;
            _triggerInputName = functionMetadata.Bindings.FirstOrDefault(b => b.IsTrigger).Name;

            InitializeFileWatcher();

            _resultProcessor = CreateResultProcessor();

            _functionLoader = new FunctionLoader <MethodInfo>(CreateFunctionTarget);

            _reloadScript = ReloadScriptAsync;
            _reloadScript = _reloadScript.Debounce();

            _onReferencesChanged = OnReferencesChanged;
            _onReferencesChanged = _onReferencesChanged.Debounce();

            _restorePackages = RestorePackages;
            _restorePackages = _restorePackages.Debounce();
        }
 public RazorTemplateCompiler(
     RazorSourceGenerator sourceGenerator,
     ICompilationService compilationService,
     RazorLightProject razorLightProject,
     IOptions <RazorLightOptions> options) : this(sourceGenerator, compilationService, razorLightProject, options.Value)
 {
 }
        public RazorTemplateCompiler(
            RazorSourceGenerator sourceGenerator,
            ICompilationService compilationService,
            RazorLightProject razorLightProject,
            RazorLightOptions razorLightOptions)
        {
            _razorSourceGenerator = sourceGenerator ?? throw new ArgumentNullException(nameof(sourceGenerator));
            _compiler             = compilationService ?? throw new ArgumentNullException(nameof(compilationService));
            _razorProject         = razorLightProject ?? throw new ArgumentNullException(nameof(razorLightProject));
            _razorLightOptions    = razorLightOptions ?? throw new ArgumentNullException(nameof(razorLightOptions));

            // This is our L0 cache, and is a durable store. Views migrate into the cache as they are requested
            // from either the set of known precompiled views, or by being compiled.
            var cacheOptions = Options.Create(new MemoryCacheOptions());

            _cache = new MemoryCache(cacheOptions);

            _normalizedKeysCache = new ConcurrentDictionary <string, string>(StringComparer.Ordinal);

            // We need to validate that the all of the precompiled views are unique by path (case-insensitive).
            // We do this because there's no good way to canonicalize paths on windows, and it will create
            // problems when deploying to linux. Rather than deal with these issues, we just don't support
            // views that differ only by case.
            _precompiledViews = new Dictionary <string, CompiledTemplateDescriptor>(
                5,                 //Change capacity when precompiled views are arrived
                StringComparer.OrdinalIgnoreCase);
        }
Beispiel #10
0
 public RazorCompilationServiceSpy(ICompilationService compilationService,
                                   IMvcRazorHost razorHost,
                                   IOptions <RazorViewEngineOptions> options)
 {
     _inner = new RazorCompilationService(compilationService, razorHost, options);
     _log   = new List <CompileEntry>();
 }
Beispiel #11
0
 public RazorCompilationServiceSpy(ICompilationService compilationService,
                                   IMvcRazorHost razorHost,
                                   IRazorViewEngineFileProviderAccessor fileProviderAccessor,
                                   ILoggerFactory logger)
 {
     _inner = new RazorCompilationService(compilationService, razorHost, fileProviderAccessor, logger);
     _log   = new List <CompileEntry>();
 }
 public TestRazorCompilationService(
     ICompilationService compilationService,
     IMvcRazorHost razorHost,
     IRazorViewEngineFileProviderAccessor fileProviderAccessor,
     ILoggerFactory loggerFactory)
     : base(compilationService, razorHost, fileProviderAccessor, loggerFactory)
 {
 }
 public TestRazorCompilationService(
     ICompilationService compilationService,
     IMvcRazorHost razorHost,
     IRazorViewEngineFileProviderAccessor fileProviderAccessor,
     ILoggerFactory loggerFactory)
     : base(compilationService, razorHost, fileProviderAccessor, loggerFactory)
 {
 }
 public RazorCompilationService(ICompilationService compilationService,
                                IMvcRazorHost razorHost,
                                IOptions<RazorViewEngineOptions> viewEngineOptions)
 {
     _compilationService = compilationService;
     _razorHost = razorHost;
     _fileProvider = viewEngineOptions.Options.FileProvider;
 }
Beispiel #15
0
 public RazorCompilationService(ICompilationService compilationService,
                                IMvcRazorHost razorHost,
                                IOptions <RazorViewEngineOptions> viewEngineOptions)
 {
     _compilationService = compilationService;
     _razorHost          = razorHost;
     _fileProvider       = viewEngineOptions.Options.FileProvider;
 }
Beispiel #16
0
 public RazorCompilationService(IApplicationEnvironment environment,
                                ICompilationService compilationService,
                                IMvcRazorHost razorHost)
 {
     _environment            = environment;
     _baseCompilationService = compilationService;
     _razorHost = razorHost;
     _appRoot   = EnsureTrailingSlash(environment.ApplicationBasePath);
 }
Beispiel #17
0
        public RazorTemplating([NotNull] ICompilationService compilationService,
                               [NotNull] MetadataReferencesProvider metadataReferencesProvider)
        {
            Check.NotNull(compilationService, nameof(compilationService));
            Check.NotNull(metadataReferencesProvider, nameof(metadataReferencesProvider));

            _compilationService         = compilationService;
            _metadataReferencesProvider = metadataReferencesProvider;
        }
Beispiel #18
0
 public RazorCompilationService(IApplicationEnvironment environment,
                                ICompilationService compilationService, 
                                IMvcRazorHost razorHost)
 {
     _environment = environment;
     _baseCompilationService = compilationService;
     _razorHost = razorHost;
     _appRoot = EnsureTrailingSlash(environment.ApplicationBasePath);
 }
        public RazorTemplating([NotNull]ICompilationService compilationService,
            [NotNull]MetadataReferencesProvider metadataReferencesProvider)
        {
            Check.NotNull(compilationService, nameof(compilationService));
            Check.NotNull(metadataReferencesProvider, nameof(metadataReferencesProvider));

            _compilationService = compilationService;
            _metadataReferencesProvider = metadataReferencesProvider;
        }
Beispiel #20
0
        public RazorTemplating(ICompilationService compilationService)
        {
            if (compilationService == null)
            {
                throw new ArgumentNullException(nameof(compilationService));
            }

            _compilationService = compilationService;
        }
        public RazorTemplating(ICompilationService compilationService)
        {
            if (compilationService == null)
            {
                throw new ArgumentNullException(nameof(compilationService));
            }

            _compilationService = compilationService;
        }
 public TemplateFactory(
     RazorProjectEngine engine,
     ICompilationService compilationService,
     ILogger <ITemplateFactory> logger)
 {
     _compilationService = compilationService ?? throw new ArgumentNullException(nameof(compilationService));
     _engine             = engine;
     _logger             = logger;
 }
Beispiel #23
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="client"></param>
 /// <param name="compilationService"></param>
 public RegistryService(
     RegistryApiClient client,
     ICompilationService compilationService,
     IFileUtil fileUtil
     )
 {
     _client             = client;
     _compilationService = compilationService;
     _fileUtil           = fileUtil;
 }
 /// <summary>
 /// Instantiates a new instance of the <see cref="RazorCompilationService"/> class.
 /// </summary>
 /// <param name="compilationService">The <see cref="ICompilationService"/> to compile generated code.</param>
 /// <param name="razorHost">The <see cref="IMvcRazorHost"/> to generate code from Razor files.</param>
 /// <param name="fileProviderAccessor">The <see cref="IRazorViewEngineFileProviderAccessor"/>.</param>
 public RazorCompilationService(
     ICompilationService compilationService,
     IMvcRazorHost razorHost,
     IRazorViewEngineFileProviderAccessor fileProviderAccessor,
     ILoggerFactory loggerFactory)
 {
     _compilationService = compilationService;
     _razorHost          = razorHost;
     _fileProvider       = fileProviderAccessor.FileProvider;
     _logger             = loggerFactory.CreateLogger <RazorCompilationService>();
 }
Beispiel #25
0
 /// <summary>
 /// Instantiates a new instance of the <see cref="RazorCompilationService"/> class.
 /// </summary>
 /// <param name="compilationService">The <see cref="ICompilationService"/> to compile generated code.</param>
 /// <param name="razorHost">The <see cref="IMvcRazorHost"/> to generate code from Razor files.</param>
 /// <param name="fileProviderAccessor">The <see cref="IRazorViewEngineFileProviderAccessor"/>.</param>
 /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
 public RazorCompilationService(
     ICompilationService compilationService,
     IMvcRazorHost razorHost,
     IRazorViewEngineFileProviderAccessor fileProviderAccessor,
     ILoggerFactory loggerFactory)
 {
     _compilationService = compilationService;
     _razorHost = razorHost;
     _fileProvider = fileProviderAccessor.FileProvider;
     _logger = loggerFactory.CreateLogger<RazorCompilationService>();
 }
Beispiel #26
0
 public TemplateService(
     IRegistryService registryService,
     ICompilationService compilationService,
     IFileUtil fileUtil,
     ConsoleTable consoleTable
     )
 {
     _manifestRepo       = NebulaConfig.TemplateManifestRepo;
     _manifestFile       = Path.Combine(NebulaConfig.TemplateDirectory, "template-manifest.json");
     _registryService    = registryService;
     _compilationService = compilationService;
     _fileUtil           = fileUtil;
     _consoleTable       = consoleTable;
 }
        public TranslatedSourceModuleModel(
            ICompilationService compilationService,
            IDocumentService documentService,
            IRazorConfigurationService configService)
        {
            _compilationService = compilationService;
            _documentService = documentService;
            _configService = configService;

            _compilationManager = _compilationService.CreateCompilationManager(_documentService.ActiveDocument);

            _generatedCode = this.ObservableToProperty(
                _compilationManager.GenerationResults.Select(r => r.Code),
                vm => vm.GeneratedCode);
        }
        public ParseTreeDisplayModuleModel(
            ICompilationService compilationService,
            IDocumentService documentService,
            IRazorConfigurationService configService)
        {
            _compilationService = compilationService;
            _documentService = documentService;
            _configService = configService;

            _compilationManager = _compilationService.CreateCompilationManager(_documentService.ActiveDocument);

            _tree = this.ObservableToProperty(
                _compilationManager.GenerationResults.Select(r => new [] { new BlockViewModel(r.Document) }),
                vm => vm.Tree);
        }
        public RazorTemplating(
            [NotNull] ICompilationService compilationService,
            [NotNull] MetadataReferencesProvider metadataReferencesProvider, 
            [NotNull] ModelUtilities modelUtilities, 
            [NotNull] CSharpUtilities csharpUtiliies)
        {
            Check.NotNull(compilationService, nameof(compilationService));
            Check.NotNull(metadataReferencesProvider, nameof(metadataReferencesProvider));
            Check.NotNull(modelUtilities, nameof(modelUtilities));
            Check.NotNull(csharpUtiliies, nameof(csharpUtiliies));

            _compilationService = compilationService;
            _metadataReferencesProvider = metadataReferencesProvider;
            _modelUtilities = modelUtilities;
            _csharpUtiliies = csharpUtiliies;
        }
Beispiel #30
0
        public RazorTemplating(
            [NotNull] ICompilationService compilationService,
            [NotNull] MetadataReferencesProvider metadataReferencesProvider,
            [NotNull] ModelUtilities modelUtilities,
            [NotNull] CSharpUtilities csharpUtiliies)
        {
            Check.NotNull(compilationService, nameof(compilationService));
            Check.NotNull(metadataReferencesProvider, nameof(metadataReferencesProvider));
            Check.NotNull(modelUtilities, nameof(modelUtilities));
            Check.NotNull(csharpUtiliies, nameof(csharpUtiliies));

            _compilationService         = compilationService;
            _metadataReferencesProvider = metadataReferencesProvider;
            _modelUtilities             = modelUtilities;
            _csharpUtiliies             = csharpUtiliies;
        }
        public async Task <Tuple <string, string> > GetAssemblyBytesAsync()
        {
            ICompilationService compilationService = CompilationServiceFactory.CreateService(_entityMetaData, GetScriptOptions(_frameworkReferences));

            _compilation = await compilationService.GetCompilationAsync();

            _diagnostics = await _compilation.GetDiagnosticsAsync();

            IsCompilationSuccessful = !_diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error);
            CompilationOutput       = _diagnostics.Select(m => m.ToString());

            if (!IsCompilationSuccessful)
            {
                throw new ScriptCompilationException(CompilationOutput);
            }

            return(await _compilation.GetAssemblyBytesAsync());
        }
        /// <summary>
        /// Initializes the entry point by compiling the script and loading/saving the assembly
        /// </summary>
        /// <returns>Taks for initializing entry point.</returns>
        public async Task InitializeEntryPointAsync()
        {
            var referenceResolver = new MemoryReferenceResolver(_frameworkLoads);
            ICompilationService compilationService = CompilationServiceFactory.CreateService(_entityMetaData, GetScriptOptions(referenceResolver));

            _compilation = await compilationService.GetCompilationAsync();

            _diagnostics = await _compilation.GetDiagnosticsAsync();

            References = referenceResolver.Used.ToImmutableArray();

            IsCompilationSuccessful = !_diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error);
            CompilationOutput       = _diagnostics.Select(m => m.ToString());

            if (IsCompilationSuccessful)
            {
                try
                {
                    memberInfo = await _compilation.GetEntryPoint();

                    InitializeAttributes();
                    Validate();
                }
                catch (Exception ex)
                {
                    if (ex is ScriptCompilationException scriptEx)
                    {
                        IsCompilationSuccessful = false;

                        if (scriptEx.CompilationOutput.Any())
                        {
                            CompilationOutput = CompilationOutput.Concat(scriptEx.CompilationOutput);
                        }

                        return;
                    }

                    throw;
                }
            }
        }
        /// <summary>
        /// Initializes the entry point by compiling the script and loading/saving the assembly
        /// </summary>
        /// <param name="assemblyInitType"></param>
        /// <returns></returns>
        public async Task InitializeEntryPointAsync()
        {
            ICompilationService compilationService = CompilationServiceFactory.CreateService(_entityMetaData, GetScriptOptions(_frameworkReferences));

            _compilation = await compilationService.GetCompilationAsync();

            _diagnostics = await _compilation.GetDiagnosticsAsync();

            IsCompilationSuccessful = !_diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error);
            CompilationOutput       = _diagnostics.Select(m => m.ToString());

            if (IsCompilationSuccessful)
            {
                try
                {
                    EntityMethodSignature methodSignature = _compilation.GetEntryPointSignature();
                    Assembly assembly = await _compilation.EmitAssemblyAsync();

                    _entryPointMethodInfo = methodSignature.GetMethod(assembly);

                    InitializeAttributes();
                    Validate();
                }
                catch (Exception ex)
                {
                    if (ex is ScriptCompilationException scriptEx)
                    {
                        IsCompilationSuccessful = false;

                        if (scriptEx.CompilationOutput.Any())
                        {
                            CompilationOutput = CompilationOutput.Concat(scriptEx.CompilationOutput);
                        }

                        return;
                    }

                    throw ex;
                }
            }
        }
        public async Task <string> SaveAssemblyToDiskAsync(string assemblyPath)
        {
            var referenceResolver = new MemoryReferenceResolver(_frameworkLoads);
            ICompilationService compilationService = CompilationServiceFactory.CreateService(_entityMetaData, GetScriptOptions(referenceResolver));

            _compilation = await compilationService.GetCompilationAsync();

            _diagnostics = await _compilation.GetDiagnosticsAsync();

            References = referenceResolver.Used.ToImmutableArray();

            IsCompilationSuccessful = !_diagnostics.Any(d => d.Severity == DiagnosticSeverity.Error);
            CompilationOutput       = _diagnostics.Select(m => m.ToString());

            if (!IsCompilationSuccessful)
            {
                throw new ScriptCompilationException(CompilationOutput);
            }

            return(await _compilation.SaveAssemblyAsync(assemblyPath));
        }
 public CompileController(ICompilationService compilationService)
 {
     _compilationService = compilationService;
 }
Beispiel #36
0
 public VirtualPathViewFactory(IFileSystem fileSystem, ICompilationService compilationService)
 {
     _fileSystem = fileSystem;
     _compilationService = compilationService;
 }
 public CompilationController(IServiceFactory serviceFactory)
 {
     _compilationsService = serviceFactory.CreateCompilationService();
     _tracksService = serviceFactory.CreateTracksService();
     _imageService = serviceFactory.CreateImageService();
 }
 public IntellisenseController(ICompilationService compilationService)
 {
     _compilationService = compilationService;
 }
Beispiel #39
0
 public RazorCompilationService(ICompilationService compilationService,
                                IMvcRazorHost razorHost)
 {
     _compilationService = compilationService;
     _razorHost          = razorHost;
 }
 public RazorCompilationService(ICompilationService compilationService)
 {
     _baseCompilationService = compilationService;
 }
 public PublishController(IRouteRepository routeRepository, ICompilationService compilationService)
 {
     _routeRepository    = routeRepository;
     _compilationService = compilationService;
 }
 public RazorTemplating([NotNull]ICompilationService compilationService)
 {
     _compilationService = compilationService;
 }
 public ConditionalJavaScriptCompilationService(ScriptSettingsManager settingsManager, ICompilationService <IJavaScriptCompilation> compilationService, Func <bool> predicate)
 {
     _settingsManager    = settingsManager;
     _compilationService = compilationService;
     _predicate          = predicate;
 }
Beispiel #44
0
 public VirtualPathViewFactory(IFileSystem fileSystem, ICompilationService compilationService)
 {
     _fileSystem         = fileSystem;
     _compilationService = compilationService;
 }
 public RazorTemplateProcessor(IFileSystem fileSystem, ICompilationService compilationService)
     : base(fileSystem)
 {
     _compilationService = compilationService ?? throw new ArgumentNullException(nameof(compilationService));
 }