我正在使用 Autofac 2.1.12 来处理我的依赖注入,并且遇到了一个特定问题。我似乎无法解决 NameValueCollection 依赖项。
考虑以下代码片段:
class Foo
{
public Foo(NameValueCollection collection) { }
}
static class Run
{
public static void Main()
{
var builder = new ContainerBuilder();
builder.RegisterType<NameValueCollection>();
builder.RegisterType<Foo>();
using (var scope = builder.Build())
scope.Resolve<Foo>();
}
}
它将因未处理的 DependencyResolutionException 而崩溃:
检测到循环组件依赖项:Foo -> System.Collections.Specialized.NameValueCollection -> System.Collections.Specialized.NameValueCollection。
但是,如果我将 NameValueCollection 替换为任何其他类型,则代码可以正常工作。
我做错了什么,我缺少的 NameValueCollection 类型有什么特别之处,还是 Autofac 本身的问题?