Ich versuche Autofac zu verwenden, um den gierigsten Konstruktor in einer referenzierten dll zu finden.Autofac finde den gierigsten Konstruktor nicht
Es findet es nicht und findet nur den einen parameterlosen Konstruktor.
Dies sind die beiden ctors:
public SimpleAuthenticationController() { .. }
public SimpleAuthenticationController(IAuthenticationCallbackProvider callbackProvider) : this()
Nun ist dies, wie ich das Zeug mit autofac
registrieren:
var builder = new ContainerBuilder();
builder.RegisterType<SampleMvcAutoAuthenticationCallbackProvider>().As<IAuthenticationCallbackProvider>();
builder.RegisterControllers(typeof(MvcApplication).Assembly);
builder.RegisterControllers(typeof(SimpleAuthenticationController).Assembly);
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
nichts zu komplex.
Aber das ist das einzige komische Ding, das ich mir vorstellen kann.
typeof(MvcApplication)
ist das gleiche Projekt, bei dem dieser Code existiert in, inglobal.asax
typeof(MvcApplication)
in einer -seperate- DLL gefunden, die ich überAddReferences
manuell hinzugefügt.
Wer sieht was ich falsch gemacht habe?
Was passiert, wenn Sie den parameterlosen Konstruktor vorübergehend auskommentieren - löst er erfolgreich den anderen? –
Ich werde überprüfen. bitte halten .. –
Bestätigt, funktioniert gut mit dem parameterlosen ctor auskommentiert. –