为啥第三方包 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 带有两个包?的主要内容,如果未能解决你的问题,请参考以下文章