C# “ServiceCollection”不包含“AddSingleton”的定义

C# “ServiceCollection”不包含“AddSingleton”的定义,c#,asp.net,.net,dependency-injection,C#,Asp.net,.net,Dependency Injection,我一直在通过program类将依赖项注册到IOC容器中,但它变得很混乱。我决定在一个已注册的DI中写入哪个依赖项 在我开始解释代码之前,这里是VS给出的完整编译错误 “ServiceCollection”不包含“AddSingleton”的定义 无法解析符号“AddSingleton” 我尽量保持干净,在DependencyProvider中插入ServiceCollection类 我能不能不这样做,或者我只是做错了什么?我真的希望这是可能的,因为这个解决方案看起来非常干净,可以创建一个新的Se

我一直在通过program类将依赖项注册到IOC容器中,但它变得很混乱。我决定在一个已注册的DI中写入哪个依赖项

在我开始解释代码之前,这里是VS给出的完整编译错误

“ServiceCollection”不包含“AddSingleton”的定义 无法解析符号“AddSingleton”

我尽量保持干净,在DependencyProvider中插入ServiceCollection类

我能不能不这样做,或者我只是做错了什么?我真的希望这是可能的,因为这个解决方案看起来非常干净,可以创建一个新的ServiceCollection实例并为其使用字段

为了澄清错误,我无法访问ServiceCollection上的任何基本方法,如下所示

但是,在内联创建新实例时,这一行是有效的

new ServiceCollection().AddSingleton<IContext, Context>();
base关键字不解析扩展方法。您要做的是:

this.AddSingleton<IContext, Context>();
base关键字不解析扩展方法。您要做的是:

this.AddSingleton<IContext, Context>();

谢谢好心的先生,谢谢你。谢谢好心的先生,谢谢你。
new ServiceCollection().AddSingleton<IContext, Context>();
this.AddSingleton<IContext, Context>();