get all registered services in Autofac
var builder = new ContainerBuilder(); var container = builder.Build(); var services = container.ComponentRegistry.Registrations.SelectMany(x => x.Services) .OfType<IServiceWithType>() .Select(x => x.ServiceType); Dictionary<string, List<Type>> assemblyNames = new Dictionary<string, List<Type>>(); foreach (var service in services) { var assemblyFullName = service.Assembly.FullName; if (!assemblyNames.ContainsKey(assemblyFullName)) { assemblyNames.Add(assemblyFullName, new List<Type> {service}); } else { assemblyNames[assemblyFullName].Add(service); } } LogUtil.CreateLog(LogLevel.Message, $"assemblyNames.Count = {assemblyNames.Count}"); int i = 0; StringBuilder stringBuilder; foreach (var assemblyName in assemblyNames.Keys) { stringBuilder = new StringBuilder(); i++; var value = assemblyNames[assemblyName]; stringBuilder.AppendLine($"index={i},{assemblyName} with {value.Count} registered service"); foreach (var item in value) { stringBuilder.AppendLine($"{item}"); } LogUtil.CreateLog(LogLevel.Message, stringBuilder.ToString()); }