private static TestRazorViewCompiler GetViewCompiler( TestFileProvider fileProvider = null, PublicRazorReferenceManager referenceManager = null, IList <CompiledViewDescriptor> precompiledViews = null, PublicCSharpCompiler csharpCompiler = null) { fileProvider = fileProvider ?? new TestFileProvider(); var options = Options.Create(new MvcRazorRuntimeCompilationOptions { FileProviders = { fileProvider } }); var compilationFileProvider = new PublicRuntimeCompilationFileProvider(options); referenceManager = referenceManager ?? CreateReferenceManager(); precompiledViews = precompiledViews ?? Array.Empty <CompiledViewDescriptor>(); var hostingEnvironment = Mock.Of <IWebHostEnvironment>(e => e.ContentRootPath == "BasePath"); var fileSystem = new PublicFileProviderRazorProjectFileSystem(compilationFileProvider); var projectEngine = RazorProjectEngine.Create(RazorConfiguration.Default, fileSystem, builder => { RazorExtensions.Register(builder); }); csharpCompiler = csharpCompiler ?? new PublicCSharpCompiler(referenceManager, hostingEnvironment); return(new TestRazorViewCompiler( projectEngine, csharpCompiler, precompiledViews)); }
private static PublicFileProviderRazorProjectFileSystem GetRazorProjectFileSystem( TestFileProvider fileProvider, string contentRootPath = "BasePath") { var options = Options.Create(new MvcRazorRuntimeCompilationOptions { FileProviders = { fileProvider } }); var compilationFileProvider = new PublicRuntimeCompilationFileProvider(options); var fileSystem = new PublicFileProviderRazorProjectFileSystem( compilationFileProvider); return(fileSystem); }
private static RazorProjectEngine GetEngine() { var options = Options.Create(new MvcRazorRuntimeCompilationOptions { FileProviders = { new TestFileProvider() } }); var compilationFileProvider = new PublicRuntimeCompilationFileProvider(options); var referenceManager = CreateReferenceManager(); var precompiledViews = Array.Empty <CompiledViewDescriptor>(); var hostingEnvironment = Mock.Of <IWebHostEnvironment>(e => e.ContentRootPath == "BasePath"); var fileSystem = new PublicFileProviderRazorProjectFileSystem(compilationFileProvider); var projectEngine = RazorProjectEngine.Create(RazorConfiguration.Default, fileSystem, builder => { RazorExtensions.Register(builder); }); return(projectEngine); }