public IEnumerable<AssemblyRegistration> GetAssemblyRegistrations() { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += CurrentDomain_ReflectionOnlyAssemblyResolve; var scanner = new AssemblyScanner(); scanner.ExcludeFileNameStartsWith("Topshelf.", "NewId.", "Newtonsoft.", "log4net.", "NLog.", "Autofac.", "RabbitMQ.", "Microsoft.", "System.", "SQLite."); scanner.Include(IsSupportedType); try { scanner.AssembliesFromApplicationBaseDirectory(); var typeSet = scanner.ScanForTypes().Result; List<AssemblyRegistration> registrations = typeSet.FindTypes(TypeClassification.Concrete | TypeClassification.Closed) .GroupBy(x => x.Assembly) .Select(x => new AssemblyRegistration(x.Key, x.ToArray())) .ToList(); return registrations; } finally { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve -= CurrentDomain_ReflectionOnlyAssemblyResolve; } }
public IEnumerable <AssemblyRegistration> GetAssemblyRegistrations() { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += CurrentDomain_ReflectionOnlyAssemblyResolve; var scanner = new AssemblyScanner(); scanner.ExcludeFileNameStartsWith("Topshelf.", "NewId.", "Newtonsoft.", "log4net.", "NLog.", "Autofac.", "RabbitMQ.", "Microsoft.", "System.", "SQLite."); scanner.Include(IsSupportedType); try { scanner.AssembliesFromApplicationBaseDirectory(); var typeSet = scanner.ScanForTypes().Result; List <AssemblyRegistration> registrations = typeSet.FindTypes(TypeClassification.Concrete | TypeClassification.Closed) .GroupBy(x => x.Assembly) .Select(x => new AssemblyRegistration(x.Key, x.ToArray())) .ToList(); return(registrations); } finally { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve -= CurrentDomain_ReflectionOnlyAssemblyResolve; } }
public Type GetHostBusFactoryType() { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += CurrentDomain_ReflectionOnlyAssemblyResolve; try { var scanner = new AssemblyScanner(); scanner.IncludeFileNameStartsWith("MassTransit."); scanner.Include(IsHostBusFactoryType); scanner.AssembliesFromApplicationBaseDirectory(); var typeSet = scanner.ScanForTypes().Result; var busFactoryType = typeSet.FindTypes(TypeClassification.Concrete | TypeClassification.Closed) .FirstOrDefault(); return busFactoryType; } finally { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve -= CurrentDomain_ReflectionOnlyAssemblyResolve; } }
public Type GetHostBusFactoryType() { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += CurrentDomain_ReflectionOnlyAssemblyResolve; try { var scanner = new AssemblyScanner(); scanner.IncludeFileNameStartsWith("MassTransit."); scanner.Include(IsHostBusFactoryType); scanner.AssembliesFromApplicationBaseDirectory(); var typeSet = scanner.ScanForTypes().Result; var busFactoryType = typeSet.FindTypes(TypeClassification.Concrete | TypeClassification.Closed) .FirstOrDefault(); return(busFactoryType); } finally { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve -= CurrentDomain_ReflectionOnlyAssemblyResolve; } }