/// <summary> /// Create a plugin loader for an assembly file. /// </summary> /// <param name="assemblyFile">The file path to the plugin config.</param> /// <param name="loaderOptions">Options for the loader</param> /// <returns>A loader.</returns> public static PluginLoader CreateFromAssemblyFile(string assemblyFile, PluginLoaderOptions loaderOptions) { var config = new FileOnlyPluginConfig(assemblyFile); var baseDir = Path.GetDirectoryName(assemblyFile); return(new PluginLoader(config, baseDir, Array.Empty <Type>(), loaderOptions, null)); }
/// <summary> /// Create a plugin loader for an assembly file. /// </summary> /// <param name="assemblyFile">The file path to the plugin config.</param> /// <param name="sharedTypes">A list of types which should be shared between the host and the plugin.</param> /// <param name="probingPath">additional probing path</param> /// <returns>A loader.</returns> public static PluginLoader CreateFromAssemblyFile(string assemblyFile, Type[] sharedTypes = null, string sharedPath = null) { var config = new FileOnlyPluginConfig(assemblyFile); var baseDir = Path.GetDirectoryName(assemblyFile); return(new PluginLoader(config, baseDir, sharedTypes, PluginLoaderOptions.None, sharedPath)); }