.net core 版本冲突

Version conflict in .net core

我在我的项目中尝试使用 Microsoft.Azure.Management.Fluent 时遇到此错误。

Severity Code Project Description File Line Suppression State Error NU1607 ProjectX.Auth.Web Version conflict detected for Microsoft.IdentityModel.Clients.ActiveDirectory. Reference the package directly from the project to resolve this issue.

ProjectX.Auth.Web (>= 1.0.0) -> Microsoft.AspNetCore.All (>= 2.0.0) -> Microsoft.Extensions.Configuration.AzureKeyVault (>= 2.0.0) -> Microsoft.IdentityModel.Clients.ActiveDirectory (>= 3.14.1)

ProjectX.Auth.Web (>= 1.0.0) -> ProjectX.Auth.Infrastructure (>= 1.0.0) -> ProjectX.Shared.Infrastructure (>= 1.0.0) -> ProjectX.Shared.ServiceBus (>= 1.0.0) -> Microsoft.Azure.Management.Fluent (>= 1.2.0) -> Microsoft.Azure.Management.ResourceManager.Fluent (>= 1.2.0) -> Microsoft.Rest.ClientRuntime.Azure.Authentication (>= 2.3.1) -> Microsoft.IdentityModel.Clients.ActiveDirectory (>= 3.13.9).

知道如何解决这个问题吗?

您可以添加 binding redirect 以重定向到最新版本的 Microsoft.IdentityModel.Clients.ActiveDirectory (3.14.1)。

或者,您也可以 auto-generate binding redirects

 <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

 <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

我使用了@KirkLarkin在问题评论中提出的方法,并在整个依赖链中添加了NuGet包。