有人可以解释提供...抽象包背后的总体思路吗?
例如,当我在 VS NuGet 包管理器中搜索“托管”一词时,结果列表中有:
这些都有关系吗?有些似乎依赖于平台(AspNetCore),而另一些则不是?是否有一般规则告诉我何时选择哪个?
假设我想在 .NET5 类库中实现 BackgroundService,我应该安装哪些 NuGet? (似乎 Microsoft.Extensions.Hosting.Abstractions 对我来说效果很好,但我必须尝试一下。)
谢谢
最佳答案
这个想法是您提供的库或包将仅引用抽象包以更容易兼容。
例如。如果您发布公司范围内的 NuGet 包,其中包含一些业务逻辑或自定义客户端,您可能需要使用 ILogger
/ILogger<T>
用于记录但实际上并不依赖于任何记录实现(内置记录器或 Serilog 等),因此您可以引用这些接口(interface)的记录抽象。
关于nuget - 微软的 "....Abstractions"Nuget 包的想法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64629589/