Пример #1
0
        public ExtensionEntry Load(ExtensionDescriptor descriptor)
        {
            if (!ExtensionsSearchPaths.Contains(descriptor.Location))
            {
                return(null);
            }

            try
            {
                var assembly = _extensionLibraryService.LoadDynamicExtension(descriptor);

                if (assembly == null)
                {
                    return(null);
                }

                if (_logger.IsEnabled(LogLevel.Information))
                {
                    _logger.LogInformation("Loaded referenced dynamic extension \"{0}\": assembly name=\"{1}\"", descriptor.Name, assembly.FullName);
                }

                return(new ExtensionEntry
                {
                    Descriptor = descriptor,
                    Assembly = assembly,
                    ExportedTypes = assembly.ExportedTypes
                });
            }
            catch
            {
                return(null);
            }
        }
        public ExtensionEntry Load(IExtensionInfo extensionInfo)
        {
            try
            {
                var assembly = _extensionLibraryService.LoadDynamicExtension(extensionInfo);

                if (assembly == null)
                {
                    return(null);
                }

                if (_logger.IsEnabled(LogLevel.Information))
                {
                    _logger.LogInformation("Loaded referenced dynamic extension \"{0}\": assembly name=\"{1}\"", extensionInfo.Id, assembly.FullName);
                }

                return(new ExtensionEntry
                {
                    ExtensionInfo = extensionInfo,
                    Assembly = assembly,
                    ExportedTypes = assembly.ExportedTypes
                });
            }
            catch
            {
                return(null);
            }
        }