Ejemplo n.º 1
0
 public DefaultAssemblyLoadContext(
     IAssemblyLoadOptions <T> options,
     IHostFrameworkProvider hostFrameworkProvider,
     IHostTypesProvider hostTypesProvider,
     IRemoteTypesProvider <T> remoteTypesProvider,
     IDependencyPathProvider <T> dependencyPathProvider,
     IProbingPathsProvider <T> probingPathsProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IDepsFileProvider <T> depsFileProvider,
     IPluginDependencyResolver <T> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider)
 {
     this.options = options;
     this.hostFrameworkProvider        = hostFrameworkProvider;
     this.hostTypesProvider            = hostTypesProvider;
     this.remoteTypesProvider          = remoteTypesProvider;
     this.dependencyPathProvider       = dependencyPathProvider;
     this.probingPathsProvider         = probingPathsProvider;
     this.runtimePlatformContext       = runtimePlatformContext;
     this.depsFileProvider             = depsFileProvider;
     this.pluginDependencyResolver     = pluginDependencyResolver;
     this.nativeAssemblyUnloader       = nativeAssemblyUnloader;
     this.assemblyLoadStrategyProvider = assemblyLoadStrategyProvider;
     this.loadedNativeLibraries        = new ConcurrentDictionary <string, IntPtr>();
 }
 public DefaultAssemblyLoaderWithNativeResolver(
     IPluginLogger <T> logger,
     IAssemblyLoadOptions <T> options,
     IHostFrameworkProvider hostFrameworkProvider,
     IHostTypesProvider <T> hostTypesProvider,
     IDowngradableDependenciesProvider <T> downgradableDependenciesProvider,
     IRemoteTypesProvider <T> remoteTypesProvider,
     IDependencyPathProvider <T> dependencyPathProvider,
     IProbingPathsProvider <T> probingPathsProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IDepsFileProvider <T> depsFileProvider,
     IPluginDependencyResolver <T> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider) : base()
 {
     this.logger  = logger;
     this.options = options;
     this.hostFrameworkProvider            = hostFrameworkProvider;
     this.hostTypesProvider                = hostTypesProvider;
     this.downgradableDependenciesProvider = downgradableDependenciesProvider;
     this.remoteTypesProvider              = remoteTypesProvider;
     this.dependencyPathProvider           = dependencyPathProvider;
     this.probingPathsProvider             = probingPathsProvider;
     this.runtimePlatformContext           = runtimePlatformContext;
     this.depsFileProvider             = depsFileProvider;
     this.pluginDependencyResolver     = pluginDependencyResolver;
     this.nativeAssemblyUnloader       = nativeAssemblyUnloader;
     this.assemblyLoadStrategyProvider = assemblyLoadStrategyProvider;
 }
 public FunctionPluginLoaderOptions(
     IPluginLoadOptions <IHelloPlugin> helloPluginLoadOptions,
     IPluginLogger <IHelloPlugin> pluginLogger,
     IPluginPathProvider <IHelloPlugin> pluginPathProvider,
     IHostTypesProvider <IHelloPlugin> hostTypesProvider,
     IRemoteTypesProvider <IHelloPlugin> remoteTypesProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IHostFrameworkProvider hostFrameworkProvider,
     IDependencyPathProvider <IHelloPlugin> dependencyPathProvider,
     IProbingPathsProvider <IHelloPlugin> probingPathsProvider,
     IPluginDependencyResolver <IHelloPlugin> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     ITempPathProvider <IHelloPlugin> tempPathProvider,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider,
     IPluginServerOptions pluginServerOptions,
     IHttpClientFactory httpFactory)
 {
     this.helloPluginLoadOptions       = helloPluginLoadOptions;
     this.pluginLogger                 = pluginLogger;
     this.pluginPathProvider           = pluginPathProvider;
     this.hostTypesProvider            = hostTypesProvider;
     this.remoteTypesProvider          = remoteTypesProvider;
     this.runtimePlatformContext       = runtimePlatformContext;
     this.hostFrameworkProvider        = hostFrameworkProvider;
     this.dependencyPathProvider       = dependencyPathProvider;
     this.probingPathsProvider         = probingPathsProvider;
     this.pluginDependencyResolver     = pluginDependencyResolver;
     this.nativeAssemblyUnloader       = nativeAssemblyUnloader;
     this.tempPathProvider             = tempPathProvider;
     this.assemblyLoadStrategyProvider = assemblyLoadStrategyProvider;
     this.pluginServerOptions          = pluginServerOptions;
     this.httpFactory = httpFactory;
 }
Ejemplo n.º 4
0
 public NetworkAssemblyLoadContext(
     IPluginLogger <T> logger,
     INetworkAssemblyLoaderOptions <T> options,
     IHostFrameworkProvider hostFrameworkProvider,
     IHostTypesProvider <T> hostTypesProvider,
     IRemoteTypesProvider <T> remoteTypesProvider,
     IDependencyPathProvider <T> dependencyPathProvider,
     IProbingPathsProvider <T> probingPathsProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IDepsFileProvider <T> depsFileProvider,
     IPluginDependencyResolver <T> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider,
     IHttpClientFactory httpClientFactory,
     ITempPathProvider <T> tempPathProvider) : base(
         logger,
         options,
         hostFrameworkProvider,
         hostTypesProvider,
         remoteTypesProvider,
         dependencyPathProvider,
         probingPathsProvider,
         runtimePlatformContext,
         depsFileProvider,
         pluginDependencyResolver,
         nativeAssemblyUnloader,
         assemblyLoadStrategyProvider
         )
 {
     this.httpClient       = httpClientFactory.CreateClient();
     this.baseUrl          = options.BaseUrl;
     this.tempPathProvider = tempPathProvider;
 }
 public DefaultAssemblyLoadContextWithNativeResolver(
     IAssemblyLoadOptions <T> options,
     IHostFrameworkProvider hostFrameworkProvider,
     IHostTypesProvider hostTypesProvider,
     IRemoteTypesProvider <T> remoteTypesProvider,
     IDependencyPathProvider <T> dependencyPathProvider,
     IProbingPathsProvider <T> probingPathsProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IDepsFileProvider <T> depsFileProvider,
     IPluginDependencyResolver <T> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider
     ) : base(
         options,
         hostFrameworkProvider,
         hostTypesProvider,
         remoteTypesProvider,
         dependencyPathProvider,
         probingPathsProvider,
         runtimePlatformContext,
         depsFileProvider,
         pluginDependencyResolver,
         nativeAssemblyUnloader,
         assemblyLoadStrategyProvider
         )
 {
 }
Ejemplo n.º 6
0
 public NetworkAssemblyLoader(
     IPluginLogger <T> logger,
     INetworkAssemblyLoaderOptions <T> options,
     IHostFrameworkProvider hostFrameworkProvider,
     IHostTypesProvider <T> hostTypesProvider,
     IRemoteTypesProvider <T> remoteTypesProvider,
     IDependencyPathProvider <T> dependencyPathProvider,
     IProbingPathsProvider <T> probingPathsProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IDepsFileProvider <T> depsFileProvider,
     IPluginDependencyResolver <T> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider,
     ITempPathProvider <T> tempPathProvider,
     IHttpClientFactory httpClientFactory
     )
 {
     this.logger  = logger;
     this.options = options;
     this.hostFrameworkProvider        = hostFrameworkProvider;
     this.hostTypesProvider            = hostTypesProvider;
     this.remoteTypesProvider          = remoteTypesProvider;
     this.dependencyPathProvider       = dependencyPathProvider;
     this.probingPathsProvider         = probingPathsProvider;
     this.runtimePlatformContext       = runtimePlatformContext;
     this.depsFileProvider             = depsFileProvider;
     this.pluginDependencyResolver     = pluginDependencyResolver;
     this.nativeAssemblyUnloader       = nativeAssemblyUnloader;
     this.assemblyLoadStrategyProvider = assemblyLoadStrategyProvider;
     this.tempPathProvider             = tempPathProvider;
     this.httpClientFactory            = httpClientFactory;
 }
 public DefaultAssemblyLoaderWithNativeResolver(
     IAssemblyLoadOptions <T> options,
     IHostFrameworkProvider hostFrameworkProvider,
     IHostTypesProvider hostTypesProvider,
     IRemoteTypesProvider <T> remoteTypesProvider,
     IDependencyPathProvider <T> dependencyPathProvider,
     IProbingPathsProvider <T> probingPathsProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IDepsFileProvider <T> depsFileProvider,
     IPluginDependencyResolver <T> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider)
 {
     this.loadContext = new DefaultAssemblyLoadContextWithNativeResolver <T>(
         options,
         hostFrameworkProvider,
         hostTypesProvider,
         remoteTypesProvider,
         dependencyPathProvider,
         probingPathsProvider,
         runtimePlatformContext,
         depsFileProvider,
         pluginDependencyResolver,
         nativeAssemblyUnloader,
         assemblyLoadStrategyProvider
         );
     this.assemblyLoadContextReference = new System.WeakReference(this.loadContext);
 }
Ejemplo n.º 8
0
        public DefaultAssemblyLoadContext(
            IPluginLogger <T> logger,
            IAssemblyLoadOptions <T> options,
            IHostFrameworkProvider hostFrameworkProvider,
            IHostTypesProvider <T> hostTypesProvider,
            IDowngradableDependenciesProvider <T> downgradableDependenciesProvider,
            IRemoteTypesProvider <T> remoteTypesProvider,
            IDependencyPathProvider <T> dependencyPathProvider,
            IProbingPathsProvider <T> probingPathsProvider,
            IRuntimePlatformContext runtimePlatformContext,
            IDepsFileProvider <T> depsFileProvider,
            IPluginDependencyResolver <T> pluginDependencyResolver,
            INativeAssemblyUnloader nativeAssemblyUnloader,
            IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider)
#if NETCORE3_0 || NETCORE3_1
            : base(options.UseCollectibleAssemblies)
#endif
        {
            this.logger  = logger;
            this.options = options;
            this.hostFrameworkProvider            = hostFrameworkProvider;
            this.hostTypesProvider                = hostTypesProvider;
            this.downgradableDependenciesProvider = downgradableDependenciesProvider;
            this.remoteTypesProvider              = remoteTypesProvider;
            this.dependencyPathProvider           = dependencyPathProvider;
            this.probingPathsProvider             = probingPathsProvider;
            this.runtimePlatformContext           = runtimePlatformContext;
            this.depsFileProvider             = depsFileProvider;
            this.pluginDependencyResolver     = pluginDependencyResolver;
            this.nativeAssemblyUnloader       = nativeAssemblyUnloader;
            this.assemblyLoadStrategyProvider = assemblyLoadStrategyProvider;
            this.loadedNativeLibraries        = new ConcurrentDictionary <string, IntPtr>();
            this.loadedPlugins      = new ConcurrentBag <string>();
            this.assemblyReferences = new ConcurrentBag <WeakReference>();
        }
Ejemplo n.º 9
0
 public NetworkAssemblyLoader(
     INetworkAssemblyLoaderOptions <T> options,
     IHostFrameworkProvider hostFrameworkProvider,
     IHostTypesProvider hostTypesProvider,
     IRemoteTypesProvider <T> remoteTypesProvider,
     IDependencyPathProvider <T> dependencyPathProvider,
     IProbingPathsProvider <T> probingPathsProvider,
     IRuntimePlatformContext runtimePlatformContext,
     IDepsFileProvider <T> depsFileProvider,
     IPluginDependencyResolver <T> pluginDependencyResolver,
     INativeAssemblyUnloader nativeAssemblyUnloader,
     IAssemblyLoadStrategyProvider assemblyLoadStrategyProvider,
     ITempPathProvider <T> tempPathProvider,
     IHttpClientFactory httpClientFactory
     )
 {
     this.loadContext = new NetworkAssemblyLoadContext <T>(
         options,
         hostFrameworkProvider,
         hostTypesProvider,
         remoteTypesProvider,
         dependencyPathProvider,
         probingPathsProvider,
         runtimePlatformContext,
         depsFileProvider,
         pluginDependencyResolver,
         nativeAssemblyUnloader,
         assemblyLoadStrategyProvider,
         httpClientFactory,
         tempPathProvider
         );
     this.assemblyLoadContextReference = new System.WeakReference(this.loadContext);
 }
Ejemplo n.º 10
0
 public PluginLoadOptionsBuilder <T> WithAssemblyLoadStrategyProvider(IAssemblyLoadStrategyProvider provider)
 {
     this.assemblyLoadStrategyProvider = provider;
     return(this);
 }