编辑 (不是作者):在https://github.com/quozd/awesome-
dotnet/blob/master/README.md#ioc上有IoC框架的完整列表:
- 温莎城堡(Castle Windsor) -温莎城堡(Castle Windsor)是同类最佳,成熟的Inversion of Control容器,可用于.NET和Silverlight
- Unity-轻量级可扩展依赖项注入容器,支持构造函数,属性和方法调用注入
- Autofac-令人上瘾的.NET IoC容器
- DryIoc-简单,快捷的全功能IoC容器。
- Ninject-.NET依赖注入程序的忍者
- StructureMap-.Net的原始IoC / DI容器
- Spring.Net-Spring.NET是一个开放源代码应用程序框架,使构建企业.NET应用程序更加容易
- LightInject-超轻量的IoC容器
- 简单注入器 -简单注入器是.NET 4+的易于使用的依赖注入(DI)库,支持Silverlight 4 +,Windows Phone 8,Windows 8(包括通用应用程序)和Mono。
- Microsoft.Extensions.DependencyInjection-ASP.NET Core应用程序的默认IoC容器。
- Scrutor -Microsoft.Extensions.DependencyInjection的程序集扫描扩展。
- VS MEF -Visual Studio使用的托管扩展框架(MEF)实现。
- TinyIoC-简单易用,无忧的控制容器反转版,适用于小型项目,图书馆和初学者。
原始答案如下。
我想我可能在这里有点挑剔,但是需要注意的是,DI(依赖注入)是一种编程模式,并且可以通过IoC(控制反转)框架来实现(但不需要)。IoC框架使DI变得更加容易,并且除DI之外,它们还提供了许多其他好处。
话虽这么说,我敢肯定这就是你要的。关于IoC框架;我曾经经常使用Spring.Net和CastleWindsor,但背后的真正痛苦是您必须编写的所有讨厌的XML配置!他们现在几乎都以这种方式移动,所以我在过去一年左右的时间里一直在使用StructureMap,并且由于它已经使用强类型的泛型和注册表迁移到了流畅的配置中,所以我在使用IoC时遇到的痛苦障碍已降至零下!现在我知道我的IoC配置是在编译时检查的(绝大部分),我得到了一个绝对的惊喜,而我对StructureMap及其速度一无所获。我不会说其他的运行时很慢,但是对我来说它们设置起来更加困难,而挫败感常常会赢得胜利。
更新资料
我在我的最新项目中一直使用Ninject,使用它绝对是一种乐趣。话语让我有些失望,但是(正如我们在英国所说),这个框架就是“狗”。对于任何您希望快速启动并运行的绿色领域项目,我都极力推荐它。我从贾斯汀·埃瑟里奇(Justin
Etheredge)精彩的Ninject截屏中获得了我所需的一切。我完全看不到将Ninject改装到现有代码中是一个问题,但是根据我的经验,对于StructureMap也可以这么说。在这两者之间前进将是一个艰难的选择,但是我宁愿竞争而不是停滞,那里还有相当数量的健康竞争。
其他IoC截屏视频也可以在Dimecasts上找到。


![哪些.NET依赖注入框架值得研究?[关闭] 哪些.NET依赖注入框架值得研究?[关闭]](http://www.mshxw.com/aiimages/31/416904.png)
