将Microsoft nuget与较低的dotnet核心版本结合使用

时间:2019-05-01 20:28:22

标签: .net-core

我有一个dotnet core 2.1 lts docker镜像,我需要在日志中添加一个时间戳。 dotnet core 3.0的Microsoft.Extensions.Logging预览版具有此功能。当然,此软件包不会提供长期支持。

我可以将共享dotnet核心版本的nuget软件包与dotnet核心框架的较低版本组合在一起,还是会导致安装不受支持?

1 个答案:

答案 0 :(得分:0)

您没有指定您的应用程序使用什么,所以我需要写一个通用的答案。

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软件包之一的其他软件包,主要版本更改就会告诉您这可能会引起问题。