我正在尝试使用 Autofac 在引用的dll 中找到最贪婪的构造函数。
它没有找到它,只找到了一个无参数构造函数。
这是两个演员:
public SimpleAuthenticationController() { .. }
public SimpleAuthenticationController(IAuthenticationCallbackProvider callbackProvider) : this()
现在这就是我注册这些东西的方式autofac
:
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));
没什么太复杂的。
但这是我能想到的唯一奇怪的事情。
typeof(MvcApplication)
是存在此代码的同一个项目,在global.asax
typeof(MvcApplication)
在 -seperate- dll 中找到,我通过AddReferences
.
有人看到我做错了什么吗?