You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 3.1应用是否需要引用Microsoft.Extensions.Hosting包?

你的第一个猜想是正确的,不用单独引用Microsoft.Extensions.Hosting包完全是Microsoft.NET.Sdk.Web SDK的特性所致,和你项目里残留的Microsoft.AspNetCore 2.2.0包没有关系,具体原因如下:

  • ASP.NET Core从3.0版本开始,采用了共享框架的发布模式,Microsoft.NET.Sdk.Web SDK会自动引入Microsoft.AspNetCore.App共享框架,该框架已经内置了Microsoft.Extensions.Hosting等所有核心基础库的实现,无需开发者手动添加对应的PackageReference引用。
  • 你项目中残留的Microsoft.AspNetCore 2.2.0包是2.x版本的旧元包,3.0+版本已经停止维护,这个包本身也不包含Microsoft.Extensions.Hosting的相关实现,不会对当前3.1版本的引用逻辑产生影响,反而建议你尽快移除该旧版本包,避免出现潜在的版本冲突问题。
  • 你可以在项目的「依赖项-框架」节点下查看Microsoft.AspNetCore.App包含的所有程序集,就能找到Microsoft.Extensions.Hosting的相关引用,这就是你删除单独的包引用后,using语句不报错、功能运行正常的核心原因。

补充:只有使用Microsoft.NET.Sdk(通用SDK)的控制台类项目,才需要手动添加Microsoft.Extensions.Hosting的NuGet包引用来使用宿主功能。

内容的提问来源于stack exchange,提问作者manymanymore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 03:24:03