为啥第三方包 Autofac 带有两个包?

Posted

技术标签:

【中文标题】为啥第三方包 Autofac 带有两个包?【英文标题】:why third party package Autofac comes with two packages?为什么第三方包 Autofac 带有两个包? 【发布时间】:2022-01-16 17:11:39 【问题描述】:

对不起这个基本问题,只是想问一下为什么几乎所有第三个包都在 nuget 上带有多个包?例如,Autofac 为:

<PackageReference Include="Autofac" Version="6.3.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.2.0" />

为什么不把所有东西都放在一个包中,例如Autofac?是不是更简洁明了?

【问题讨论】:

【参考方案1】:

一个包是Autofac,控制容器的反转。

其中一个包是可以将 Microsoft 格式注册转换为 Autofac 注册的适配器。

您可以在没有适配器的情况下使用 Autofac。很多人都这样做,这就是非 .NET 核心项目的工作方式。因此,它是两个包 - 您可以选择加入您想要的功能。

这与您在核心 Autofac 包中找不到所有经典 ASP.NET、WCF、Moq 和其他集成支持的原因相同。

【讨论】:

以上是关于为啥第三方包 Autofac 带有两个包?的主要内容,如果未能解决你的问题,请参考以下文章

[Asp.Net Core]Autofac初识

[Asp.Net Core]Autofac初识

linux python 包安装了 为啥包不能导入

Java:使用Ant可以打包出可以通过build.xml直接运行的jar包,但为啥引入了第三方的

IntellJ idea maven项目带有第三方jar包

golang为啥没有官方的gui包