首页 > 解决方案 > 带有 ASP.NET Core 和完整 .NET Framework (.NET 4.7) 的简单注入器

问题描述

我正在使用带有完整 .NET 框架的 ASP.NET Core,并想尝试 Simple Injector。在 Nuget 管理器中,我看到了 Simple Injetcor 的许多选项,例如“SimpleInjector.Integration.AspNetCore.MVC”和“SimpleInjector.Integration.AspNetCore.Mvc.Core”我看不到发布或依赖项有任何差异。

请根据我正在使用的框架设置建议应该使用哪个 NuGet。

标签: c#.netdependency-injectionioc-containersimple-injector

解决方案


Simple Injector 文档的ASP.NET Core 集成指南描述了要使用的 NuGet 包。请参阅第一段,但不要忘记阅读整页。

但具体来说,SimpleInjector.Integration.AspNetCore.MVC是完整的集成包,它“在核心功能之上添加了标签助手集成”,并且依赖于Microsoft.AspNetCore.Mvc.Razor。核心集成功能是 SimpleInjector.Integration.AspNetCore.Mvc.Core的一部分,“包括控制和视图组件集成”。

要将 Simple Injector 与 ASP.NET Core MVC 集成,您应该使用SimpleInjector.Integration.AspNetCore.MVC集成包,除非您不需要标签助手集成并且想要限制Microsoft.AspNetCore应用程序中包的依赖项数量,这可能是您运行时的问题在(Docker)容器内。在这种情况下,SimpleInjector.Integration.AspNetCore.Mvc.Core直接使用。


推荐阅读