示例#1
0
        /// <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));
        }
示例#2
0
        /// <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));
        }