/// <summary>
 /// Parses the <see cref="ICompilerOptions"/> for the current executing application and returns a
 /// <see cref="CompilationSettings"/> used for Roslyn compilation.
 /// </summary>
 /// <param name="compilerOptionsProvider">
 /// A <see cref="ICompilerOptionsProvider"/> that reads compiler options.
 /// </param>
 /// <param name="applicationEnvironment">
 /// The <see cref="IApplicationEnvironment"/> for the executing application.
 /// </param>
 /// <returns>The <see cref="CompilationSettings"/> for the current application.</returns>
 public static CompilationSettings GetCompilationSettings(
     [NotNull] this ICompilerOptionsProvider compilerOptionsProvider,
     [NotNull] IApplicationEnvironment applicationEnvironment)
 {
     return(compilerOptionsProvider.GetCompilerOptions(applicationEnvironment.ApplicationName,
                                                       applicationEnvironment.RuntimeFramework,
                                                       applicationEnvironment.Configuration)
            .ToCompilationSettings(applicationEnvironment.RuntimeFramework));
 }
Пример #2
0
 private static CompilationSettings GetCompilationSettings(
     ICompilerOptionsProvider compilerOptionsProvider,
     IProjectContext projectContext)
 {
     return compilerOptionsProvider.GetCompilerOptions(projectContext.Name,
                                                       projectContext.TargetFramework,
                                                       projectContext.Configuration)
                                   .ToCompilationSettings(projectContext.TargetFramework);
 }
Пример #3
0
 private static CompilationSettings GetCompilationSettings(
     ICompilerOptionsProvider compilerOptionsProvider,
     IProjectContext projectContext)
 {
     return(compilerOptionsProvider.GetCompilerOptions(projectContext.Name,
                                                       projectContext.TargetFramework,
                                                       projectContext.Configuration)
            .ToCompilationSettings(projectContext.TargetFramework));
 }
 /// <summary>
 /// Initalizes a new instance of the <see cref="RoslynCompilationService"/> class.
 /// </summary>
 /// <param name="environment">The environment for the executing application.</param>
 /// <param name="loaderEngine">The loader used to load compiled assemblies.</param>
 /// <param name="libraryManager">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>
 public RoslynCompilationService(IApplicationEnvironment environment,
                                 IAssemblyLoadContextAccessor loaderAccessor,
                                 ILibraryManager libraryManager,
                                 ICompilerOptionsProvider compilerOptionsProvider,
                                 IMvcRazorHost host)
 {
     _environment = environment;
     _loader = loaderAccessor.GetLoadContext(typeof(RoslynCompilationService).GetTypeInfo().Assembly);
     _libraryManager = libraryManager;
     _applicationReferences = new Lazy<List<MetadataReference>>(GetApplicationReferences);
     _compilerOptionsProvider = compilerOptionsProvider;
     _classPrefix = host.MainClassNamePrefix;
 }
Пример #5
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="loaderEngine">The loader used to load compiled assemblies.</param>
 /// <param name="libraryManager">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>
 public RoslynCompilationService(IApplicationEnvironment environment,
                                 IAssemblyLoadContextAccessor loaderAccessor,
                                 ILibraryManager libraryManager,
                                 ICompilerOptionsProvider compilerOptionsProvider,
                                 IMvcRazorHost host)
 {
     _environment             = environment;
     _loader                  = loaderAccessor.GetLoadContext(typeof(RoslynCompilationService).GetTypeInfo().Assembly);
     _libraryManager          = libraryManager;
     _applicationReferences   = new Lazy <List <MetadataReference> >(GetApplicationReferences);
     _compilerOptionsProvider = compilerOptionsProvider;
     _classPrefix             = host.MainClassNamePrefix;
 }
Пример #6
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="loaderAccessor">
 /// The accessor for the <see cref="IAssemblyLoadContext"/> used to load compiled assemblies.
 /// </param>
 /// <param name="libraryExporter">The library manager that provides export and reference information.</param>
 /// <param name="compilerOptionsProvider">
 /// The <see cref="ICompilerOptionsProvider"/> that provides Roslyn compilation settings.
 /// </param>
 /// <param name="host">The <see cref="IMvcRazorHost"/> that was used to generate the code.</param>
 public DefaultRoslynCompilationService(IApplicationEnvironment environment,
                                        IAssemblyLoadContextAccessor loaderAccessor,
                                        IOrchardLibraryManager libraryExporter,
                                        ICompilerOptionsProvider compilerOptionsProvider,
                                        IMvcRazorHost host,
                                        IOptions <RazorViewEngineOptions> optionsAccessor)
 {
     _environment             = environment;
     _loader                  = loaderAccessor.GetLoadContext(typeof(DefaultRoslynCompilationService).GetTypeInfo().Assembly);
     _libraryExporter         = libraryExporter;
     _applicationReferences   = new Lazy <List <MetadataReference> >(GetApplicationReferences);
     _compilerOptionsProvider = compilerOptionsProvider;
     _fileProvider            = optionsAccessor.Options.FileProvider;
     _classPrefix             = host.MainClassNamePrefix;
 }
 /// <summary>
 /// Initalizes a new instance of the <see cref="RoslynCompilationService"/> class.
 /// </summary>
 /// <param name="environment">The environment for the executing application.</param>
 /// <param name="loaderAccessor">
 /// The accessor for the <see cref="IAssemblyLoadContext"/> used to load compiled assemblies.
 /// </param>
 /// <param name="libraryExporter">The library manager that provides export and reference information.</param>
 /// <param name="compilerOptionsProvider">
 /// The <see cref="ICompilerOptionsProvider"/> that provides Roslyn compilation settings.
 /// </param>
 /// <param name="host">The <see cref="IMvcRazorHost"/> that was used to generate the code.</param>
 public DefaultRoslynCompilationService(IApplicationEnvironment environment,
                                 IAssemblyLoadContextAccessor loaderAccessor,
                                 IOrchardLibraryManager libraryExporter,
                                 ICompilerOptionsProvider compilerOptionsProvider,
                                 IMvcRazorHost host,
                                 IOptions<RazorViewEngineOptions> optionsAccessor)
 {
     _environment = environment;
     _loader = loaderAccessor.GetLoadContext(typeof(DefaultRoslynCompilationService).GetTypeInfo().Assembly);
     _libraryExporter = libraryExporter;
     _applicationReferences = new Lazy<List<MetadataReference>>(GetApplicationReferences);
     _compilerOptionsProvider = compilerOptionsProvider;
     _fileProvider = optionsAccessor.Options.FileProvider;
     _classPrefix = host.MainClassNamePrefix;
 }
Пример #8
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="loaderAccessor">
        /// The accessor for the <see cref="IAssemblyLoadContext"/> used to load compiled assemblies.
        /// </param>
        /// <param name="libraryManager">The library manager that provides export and reference information.</param>
        /// <param name="compilerOptionsProvider">
        /// The <see cref="ICompilerOptionsProvider"/> that provides Roslyn compilation settings.
        /// </param>
        /// <param name="host">The <see cref="IMvcRazorHost"/> that was used to generate the code.</param>
        public RoslynCompilationService(
            IApplicationEnvironment environment,
            ILibraryExporter libraryExporter,
            ICompilerOptionsProvider compilerOptionsProvider,
            IMvcRazorHost host,
            IOptions<RazorViewEngineOptions> optionsAccessor)
        {
            _environment = environment;
            _libraryExporter = libraryExporter;
            _applicationReferences = new Lazy<List<MetadataReference>>(GetApplicationReferences);
            _compilerOptionsProvider = compilerOptionsProvider;
            _fileProvider = optionsAccessor.Value.FileProvider;
            _classPrefix = host.MainClassNamePrefix;

#if DOTNET5_4
            _razorLoadContext = new RazorLoadContext();
#endif
        }
Пример #9
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="loaderAccessor">
        /// The accessor for the <see cref="IAssemblyLoadContext"/> used to load compiled assemblies.
        /// </param>
        /// <param name="libraryManager">The library manager that provides export and reference information.</param>
        /// <param name="compilerOptionsProvider">
        /// The <see cref="ICompilerOptionsProvider"/> that provides Roslyn compilation settings.
        /// </param>
        /// <param name="host">The <see cref="IMvcRazorHost"/> that was used to generate the code.</param>
        public RoslynCompilationService(
            IApplicationEnvironment environment,
            ILibraryExporter libraryExporter,
            ICompilerOptionsProvider compilerOptionsProvider,
            IMvcRazorHost host,
            IOptions <RazorViewEngineOptions> optionsAccessor)
        {
            _environment             = environment;
            _libraryExporter         = libraryExporter;
            _applicationReferences   = new Lazy <List <MetadataReference> >(GetApplicationReferences);
            _compilerOptionsProvider = compilerOptionsProvider;
            _fileProvider            = optionsAccessor.Value.FileProvider;
            _classPrefix             = host.MainClassNamePrefix;

#if DOTNET5_4
            _razorLoadContext = new RazorLoadContext();
#endif
        }
Пример #10
0
        /// <summary>
        /// Parses the <see cref="ICompilerOptions"/> for the current executing application and returns a
        /// <see cref="CompilationSettings"/> used for Roslyn compilation.
        /// </summary>
        /// <param name="compilerOptionsProvider">
        /// A <see cref="ICompilerOptionsProvider"/> that reads compiler options.
        /// </param>
        /// <param name="applicationEnvironment">
        /// The <see cref="IApplicationEnvironment"/> for the executing application.
        /// </param>
        /// <returns>The <see cref="CompilationSettings"/> for the current application.</returns>
        public static CompilationSettings GetCompilationSettings(
            this ICompilerOptionsProvider compilerOptionsProvider,
            IApplicationEnvironment applicationEnvironment)
        {
            if (compilerOptionsProvider == null)
            {
                throw new ArgumentNullException(nameof(compilerOptionsProvider));
            }

            if (applicationEnvironment == null)
            {
                throw new ArgumentNullException(nameof(applicationEnvironment));
            }

            return(compilerOptionsProvider.GetCompilerOptions(applicationEnvironment.ApplicationName,
                                                              applicationEnvironment.RuntimeFramework,
                                                              applicationEnvironment.Configuration)
                   .ToCompilationSettings(applicationEnvironment.RuntimeFramework));
        }
Пример #11
0
 public static CompilationServices Create(ILibraryExporter libraryExporter, ICompilerOptionsProvider compilerOptionsProvider)
 {
     return new DefaultCompilationServices(libraryExporter, compilerOptionsProvider);
 }
Пример #12
0
 internal DefaultCompilationServices(ILibraryExporter libraryExporter, ICompilerOptionsProvider compilerOptionsProvider)
 {
     LibraryExporter = libraryExporter;
     CompilerOptionsProvider = compilerOptionsProvider;
 }
Пример #13
0
 internal DefaultCompilationServices(ILibraryExporter libraryExporter, ICompilerOptionsProvider compilerOptionsProvider)
 {
     LibraryExporter         = libraryExporter;
     CompilerOptionsProvider = compilerOptionsProvider;
 }
Пример #14
0
 public static CompilationServices Create(ILibraryExporter libraryExporter, ICompilerOptionsProvider compilerOptionsProvider)
 {
     return(new DefaultCompilationServices(libraryExporter, compilerOptionsProvider));
 }