.net-core - 将 Microsoft nuget 与较低的 dotnet 核心版本相结合
问题描述
我有一个 dotnet core 2.1 lts docker 映像,我需要在日志中有一个时间戳。dotnet core 3.0的Microsoft.Extensions.Logging预览版具有此功能。当然这个包不会有长期的支持。
我可以将共享 dotnet 核心版本的 nuget 包与较低版本的 dotnet 核心框架结合起来,还是会导致设置不受支持?
解决方案
您没有指定您的应用程序使用什么,所以我需要写一个有点通用的答案。
Microsoft.Extensions.Logging 包以 netstandard 2.0 为目标,这意味着它将在 dotnet core 2.1 上运行
您将遇到的这个问题是,它也会强制它使用的依赖项进行升级:
Microsoft.Extensions.Configuration.Binder (>= 3.0.0-preview4.19216.2)
Microsoft.Extensions.DependencyInjection (>= 3.0.0-preview4.19216.2)
Microsoft.Extensions.Logging.Abstractions (>= 3.0.0-preview4.19216.2)
Microsoft.Extensions.Options (>= 3.0.0-preview4.19216.2)
而且那些也有依赖关系......最后,它可能会使用预览中的包升级你的很多项目依赖关系。(因此不支持)
我不建议您这样做,但最终它仅取决于您在应用程序中使用的功能。如果只有您的代码依赖于 Microsoft.Extensions.Logging 功能,您应该没问题,尽管目前不支持。一旦您使用使用升级 Microsoft.Extensions 包之一的其他包,主要版本更改应该告诉您这可能会导致问题。
推荐阅读
- linq - LINQ 在 Lambda ex 中加入多表
- css - 用于 chrome 但不适用于 safari 的按钮的 CSS
- html - 如何在 XPath 中跳过他的一些父母来选择子元素
- laravel - 是否可以使用 Eloquent 和两个 hasMany 关系计算一个查询中的平均值
- c# - C# 许多长时间运行的任务并行
- javascript - 如何通过使用时刻减去两个日期来获得总小时数?
- ios - Xcode 10 生成的 Assets.car 比 Xcode 9 大?
- scala - 期货如何在 Akka 演员中执行
- c# - 从字符串到布尔值的 IValueConverter 转换错误
- vb.net - 在 vb.net 的水晶报表中显示查询参数