public ConnectionContext(IServiceProvider services, IAssemblyLoaderEngine loaderEngine, Stream stream, string hostId) { _services = services; _loaderEngine = loaderEngine; _stream = stream; _hostId = hostId; }
public RoslynCompilationService(IApplicationEnvironment environment, IAssemblyLoaderEngine loaderEngine, ILibraryManager libraryManager) { _environment = environment; _loader = loaderEngine; _libraryManager = libraryManager; }
public ProjectAssemblyLoader(IProjectResolver projectResovler, IAssemblyLoaderEngine loaderEngine, ILibraryManager libraryManager) { _projectResolver = projectResovler; _loaderEngine = loaderEngine; _libraryManager = libraryManager; }
/// <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> public RoslynCompilationService(IApplicationEnvironment environment, IAssemblyLoaderEngine loaderEngine, ILibraryManager libraryManager) { _environment = environment; _loader = loaderEngine; _libraryManager = libraryManager; _applicationReferences = new Lazy <List <MetadataReference> >(GetApplicationReferences); }
public Assembly Load(IAssemblyLoaderEngine loaderEngine) { using (var pdbStream = new MemoryStream()) using (var assemblyStream = new MemoryStream()) { IList <ResourceDescription> resources = GetResources(); Trace.TraceInformation("[{0}]: Emitting assembly for {1}", GetType().Name, Name); var sw = Stopwatch.StartNew(); EmitResult emitResult = null; if (PlatformHelper.IsMono) { // Pdbs aren't supported on mono emitResult = CompilationContext.Compilation.Emit(assemblyStream, manifestResources: resources); } else { emitResult = CompilationContext.Compilation.Emit(assemblyStream, pdbStream: pdbStream, manifestResources: resources); } sw.Stop(); Trace.TraceInformation("[{0}]: Emitted {1} in {2}ms", GetType().Name, Name, sw.ElapsedMilliseconds); var diagnostics = CompilationContext.Diagnostics.Concat( emitResult.Diagnostics); var result = CreateDiagnosticResult(emitResult.Success, diagnostics); if (!result.Success) { throw new CompilationException(result.Errors.ToList()); } Assembly assembly = null; // Rewind the stream assemblyStream.Seek(0, SeekOrigin.Begin); pdbStream.Seek(0, SeekOrigin.Begin); if (pdbStream.Length == 0) { assembly = loaderEngine.LoadStream(assemblyStream, pdbStream: null); } else { assembly = loaderEngine.LoadStream(assemblyStream, pdbStream); } return(assembly); } }
public EntityFrameworkServices( [NotNull] ILibraryManager libraryManager, [NotNull] IApplicationEnvironment environment, [NotNull] IAssemblyLoaderEngine loader, [NotNull] IModelTypesLocator modelTypesLocator, [NotNull] IDbContextEditorServices dbContextEditorServices) { _libraryManager = libraryManager; _environment = environment; _loader = loader; _modelTypesLocator = modelTypesLocator; _dbContextEditorServices = dbContextEditorServices; }
public static CompilationResult GetAssemblyFromCompilation( IAssemblyLoaderEngine loader, Compilation compilation) { EmitResult result; using (var ms = new MemoryStream()) { using (var pdb = new MemoryStream()) { if (PlatformHelper.IsMono) { result = compilation.Emit(ms, pdbStream: null); } else { result = compilation.Emit(ms, pdbStream: pdb); } if (!result.Success) { var formatter = new DiagnosticFormatter(); var errorMessages = result.Diagnostics .Where(IsError) .Select(d => formatter.Format(d)); return(CompilationResult.FromErrorMessages(errorMessages)); } ms.Seek(0, SeekOrigin.Begin); Assembly assembly; if (PlatformHelper.IsMono) { assembly = loader.LoadStream(ms, pdbStream: null); } else { pdb.Seek(0, SeekOrigin.Begin); assembly = loader.LoadStream(ms, pdb); } return(CompilationResult.FromAssembly(assembly)); } } }
public Assembly Load(IAssemblyLoaderEngine loaderEngine) { using (var pdbStream = new MemoryStream()) using (var assemblyStream = new MemoryStream()) { IList<ResourceDescription> resources = GetResources(); Trace.TraceInformation("[{0}]: Emitting assembly for {1}", GetType().Name, Name); var sw = Stopwatch.StartNew(); EmitResult emitResult = null; if (PlatformHelper.IsMono) { // Pdbs aren't supported on mono emitResult = CompilationContext.Compilation.Emit(assemblyStream, manifestResources: resources); } else { emitResult = CompilationContext.Compilation.Emit(assemblyStream, pdbStream: pdbStream, manifestResources: resources); } sw.Stop(); Trace.TraceInformation("[{0}]: Emitted {1} in {2}ms", GetType().Name, Name, sw.ElapsedMilliseconds); var diagnostics = CompilationContext.Diagnostics.Concat( emitResult.Diagnostics); var result = CreateDiagnosticResult(emitResult.Success, diagnostics); if (!result.Success) { throw new CompilationException(result.Errors.ToList()); } Assembly assembly = null; // Rewind the stream assemblyStream.Seek(0, SeekOrigin.Begin); pdbStream.Seek(0, SeekOrigin.Begin); if (pdbStream.Length == 0) { assembly = loaderEngine.LoadStream(assemblyStream, pdbStream: null); } else { assembly = loaderEngine.LoadStream(assemblyStream, pdbStream); } return assembly; } }
public Program(IServiceProvider services, IAssemblyLoaderEngine loaderEngine) { _services = services; _loaderEngine = loaderEngine; }
public Assembly Load(IAssemblyLoaderEngine loaderEngine) { return(loaderEngine.LoadFile(_assemblyPath)); }
public PathBasedAssemblyLoader(IAssemblyLoaderEngine loaderEngine, string[] searchPaths) { _loaderEngine = loaderEngine; _searchPaths = searchPaths; }
public Bootstrapper(IAssemblyLoaderContainer container, IAssemblyLoaderEngine loaderEngine) { _container = container; _loaderEngine = loaderEngine; }
public Assembly Load(IAssemblyLoaderEngine loaderEngine) { return loaderEngine.LoadFile(_assemblyPath); }
public NuGetAssemblyLoader(IAssemblyLoaderEngine loaderEngine, NuGetDependencyResolver dependencyResolver) { _dependencyResolver = dependencyResolver; _loaderEngine = loaderEngine; }
public ApplicationContext(IServiceProvider services, IAssemblyLoaderEngine loaderEngine, int id) { _hostServices = services; _loaderEngine = loaderEngine; Id = id; }