.NET Core 3(预览版)-程序包版本冲突

时间:2019-07-02 14:00:59

标签: asp.net-core

我目前在.NET Core应用程序中具有以下软件包。

<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.0.0-preview6.19307.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0-preview5-19227-01" />
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.0.0-preview5-19227-01" />

我正在尝试添加一些日志记录。

https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog/3.0.0-preview6.19304.6

但是当我尝试时,出现以下错误消息...

  

检测到的包降级:Microsoft.NETCore.Platforms来自   3.0.0-preview6.19303.8至3.0.0-preview5.19224.8。直接从项目中引用该软件包以选择其他版本。

     

MyApp-> Microsoft.Extensions.Logging.EventLog 3.0.0-preview6.19304.6   -> System.Diagnostics.EventLog 4.6.0-preview6.19303.8-> Microsoft.NETCore.Platforms(> = 3.0.0-preview6.19303.8)

     

MyApp-> Microsoft.NETCore.Platforms(> = 3.0.0-preview5.19224.8)

有人可以建议吗?

1 个答案:

答案 0 :(得分:2)

简单来说,该错误意味着一个或多个软件包引用实际上已经已经引用了您的其他软件包引用之一。在这种情况下,几乎可以肯定Microsoft.AspNetCore.Mvc.NewtonsoftJson,其中您的另外两个引用中的一个或两个实际上已经引用了此包。但是,由于它们具有较高的预览版本,因此它们也引用了较高的NewtonsoftJson预览版本,并且您对较低预览版本的显式项目引用会导致“降级”。

解决方案很简单:1)将项目引用更新为最新,以使其与其他软件包中的内部引用匹配,或者2)完全删除软件包引用。如果已经将该软件包作为另一个软件包的依赖项引入,则也可以通过现有引用使用它;否则,可以通过现有引用使用它。您不需要自己明确引用它。