Вам нужно будет «знать» о сборках, содержащих классы, возможно, вы можете загрузить их самостоятельно с помощью Assembly.Load(..)
.
Оттуда легко зарегистрировать классы:
var assemblies = new[]{....};
builder.RegisterAssemblyTypes(assemblies)
.Where(t => typeof(IMyInterface).IsAssignableFrom(t))
.As<IMyInterface>();
Обновление: для доступа к зарегистрированным экземплярам вы можете использовать встроенную поддержку Autofac для коллекций:
public class MyService
{
private readonly IEnumerable<IMyInterface> _services;
public MyService(IEnumerable<IMyInterface> services)
{
_services = services;
}
public void DoStuffWithServices()
{
foreach(var svc in _services)
{
...
}
}
}