【问题标题】:Simple injector Web API integration package for .NET core?.NET 核心的简单注入器 Web API 集成包?
【发布时间】:2025-12-05 07:25:01
【问题描述】:

将简单注入器集成到纯 .net 核心 Web api 项目时,我是否仍应使用“ASP.NET Core MVC 集成 NuGet 包”?我期待找到一个类似于旧 .net 版本的单独集成包。还是SimpleInjector.Integration.WebApi 也打算用于.net 核心?

【问题讨论】:

  • @mjwills 我发布这个问题的原因是希望从可靠来源获得关于如何缩进使用框架的答案。
  • “纯.net core web api项目”是什么意思?你在创建控制器类吗?
  • @Steven 带有 API 模板的新 ASP.NET 核心 Web 应用程序。我的观点是我的项目中没有 .net mvc,我能找到的唯一的 .net core 集成包是“MVC 集成”,因此我的问题是。

标签: c# asp.net-core simple-injector


【解决方案1】:

随着 ASP.NET Core 的引入,微软创建了一个集成 MVC 和 Web API 的统一模型。他们将此框架称为:ASP.NET Core MVC。这意味着创建 Web API 项目时,您使用 Microsoft.AspNetCore.Mvc。

这就是为什么在将 Simple Injector 与 ASP.NET Core MVC Web API 项目集成时,您必须使用 SimpleInjector.Integration.AspNetCore.MVCSimpleInjector.Integration.AspNetCore.MVC.Core 包。最有可能的是,在您的情况下,您应该使用 SimpleInjector.Integration.AspNetCore.MVC.Core,因为它包含注册控制器的扩展方法,而 SimpleInjector.Integration.AspNetCore.MVC 构建在 Core 包之上并添加了 MVC Razor Tag Helper 集成,这是您不会的创建 Web API 时需要。

【讨论】: