如何解决微软的“ .... Abstractions” Nuget软件包的想法是什么?
有人可以解释提供抽象包背后的一般想法吗?
例如,当我在VS NuGet软件包管理器中搜索“托管”一词时,发现列表中有:
- Microsoft.Extensions.Hosting
- Microsoft.Extensions.Hosting.Abstractions
- Microsoft.AspNetCore.Hosting.Server.Abstraction
- Microsoft.AspNetCore.Hosting.Abstractions
- Microsoft.AspNetCore.Hosting
- Microsoft.Extensions.Hosting.WindowsServices
这些都有关吗?有些似乎与平台有关(AspNetCore),而有些则不是?是否有一条通用规则告诉我何时选择哪个?
假设我想在.NET5类库中实现BackgroundService,我应该安装哪些NuGet? (看来 Microsoft.Extensions.Hosting.Abstractions 对我来说很好用,但我必须尝试一下。)
谢谢
解决方法
我们的想法是,您提供的库或软件包将仅引用Abstraction软件包,以实现更好的兼容性。
例如如果您在公司范围内附带了一些业务逻辑或自定义客户端的NuGet软件包,则可能要使用ILogger
/ ILogger<T>
进行日志记录,但实际上并不依赖于任何实现方式进行日志记录(两者内置记录器或Serilog等),因此您可以参考这些接口的记录抽象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。