public ExtensionEntry Load(ExtensionDescriptor descriptor) { if (!ExtensionsSearchPaths.Contains(descriptor.Location)) { return(null); } var plocation = _hostEnvironment.MapPath(descriptor.Location); using (_loaderContainer.AddLoader(_extensionAssemblyLoader.WithPath(plocation))) { try { var assembly = Assembly.Load(new AssemblyName(descriptor.Id)); if (_logger.IsEnabled(LogLevel.Information)) { _logger.LogInformation("Loaded referenced extension \"{0}\": assembly name=\"{1}\"", descriptor.Name, assembly.FullName); } return(new ExtensionEntry { Descriptor = descriptor, Assembly = assembly, ExportedTypes = assembly.ExportedTypes }); } catch (System.Exception ex) { _logger.LogError(string.Format("Error trying to load extension {0}", descriptor.Id), ex); throw; } } }
public ExtensionEntry Load(ExtensionDescriptor descriptor) { if (!descriptor.Location.StartsWith("Core")) { return(null); } var directory = _fileSystem.GetDirectoryInfo("Core"); using (_loaderContainer.AddLoader(_extensionAssemblyLoader.WithPath(directory.FullName))) { var assembly = Assembly.Load(new AssemblyName(CoreAssemblyName)); if (_logger.IsEnabled(LogLevel.Information)) { _logger.LogInformation("Loaded referenced extension \"{0}\": assembly name=\"{1}\"", descriptor.Name, assembly.FullName); } return(new ExtensionEntry { Descriptor = descriptor, Assembly = assembly, ExportedTypes = assembly.ExportedTypes.Where(x => IsTypeFromModule(x, descriptor)) }); } }
public ExtensionEntry Load(ExtensionDescriptor descriptor) { if (!ExtensionsVirtualPathPrefixes.Contains(descriptor.Location)) { return(null); } var plocation = _virtualPathProvider.MapPath(descriptor.Location); using (_loaderContainer.AddLoader(_extensionAssemblyLoader.WithPath(plocation))) { var assembly = Assembly.Load(new AssemblyName(descriptor.Id)); Logger.Information("Loaded referenced extension \"{0}\": assembly name=\"{1}\"", descriptor.Name, assembly.FullName); return(new ExtensionEntry { Descriptor = descriptor, Assembly = assembly, ExportedTypes = assembly.ExportedTypes }); } }
public ExtensionEntry Load(ExtensionDescriptor descriptor) { if (!descriptor.Location.StartsWith("~/Core/")) { return(null); } var plocation = _virtualPathProvider.MapPath("~/Core"); using (_loaderContainer.AddLoader(_extensionAssemblyLoader.WithPath(plocation))) { var assembly = Assembly.Load(new AssemblyName(CoreAssemblyName)); Logger.Information("Loaded referenced extension \"{0}\": assembly name=\"{1}\"", descriptor.Name, assembly.FullName); return(new ExtensionEntry { Descriptor = descriptor, Assembly = assembly, ExportedTypes = assembly.ExportedTypes.Where(x => IsTypeFromModule(x, descriptor)) }); } }