如何解决nuget包之间的版本冲突

NRa*_*ade 5 collections version nuget-package coreclr

我正在使用一个 ASP.NET Core 应用程序,其中我依赖于两个冲突的 nuget 包。包恢复输出显示冲突,如下所示:

Version conflict detected for System.Collections.
MyProject (>= 2.0.0) -> Microsoft.AspNetCore.Mvc.TagHelpers (>= 1.0.0) -> Microsoft.AspNetCore.Mvc.Razor (>= 1.0.0) -> Microsoft.AspNetCore.Mvc.ViewFeatures (>= 1.0.0) -> Microsoft.AspNetCore.Mvc.DataAnnotations (>= 1.0.0) -> Microsoft.Extensions.Localization (>= 1.0.0) -> Microsoft.AspNetCore.Hosting.Abstractions (>= 1.0.0) -> Microsoft.Extensions.Configuration.Abstractions (>= 1.0.0) -> System.Linq (>= 4.1.0) -> System.Collections (>= 4.0.11)
MyProject (>= 2.0.0) -> Microsoft.NETCore.Runtime.CoreCLR-x64 (>= 1.0.0) -> System.Collections (= 4.0.10).
Run Code Online (Sandbox Code Playgroud)

当我使用 CoreCLR-x64 的预发行版本时,我在 System.Collections 上遇到另一个冲突:

Version conflict detected for System.Collections.
 MyProject (>= 2.0.0) -> Microsoft.AspNetCore.Mvc.TagHelpers (>= 1.0.0) -> Microsoft.AspNetCore.Mvc.Razor (>= 1.0.0) -> Microsoft.AspNetCore.Mvc.ViewFeatures (>= 1.0.0) -> Microsoft.AspNetCore.Mvc.DataAnnotations (>= 1.0.0) -> Microsoft.Extensions.Localization (>= 1.0.0) -> Microsoft.AspNetCore.Hosting.Abstractions (>= 1.0.0) -> Microsoft.Extensions.Configuration.Abstractions (>= 1.0.0) -> System.Linq (>= 4.1.0) -> System.Collections (>= 4.0.11)
 MyProject (>= 2.0.0) -> Microsoft.NETCore.Runtime.CoreCLR-x64 (>= 1.0.1-beta-23225) -> System.Collections (= 4.0.11-beta-23225).
Run Code Online (Sandbox Code Playgroud)

对我来说有点令人困惑,因为顶级依赖项应该能够接受比 4.0.11 更高的版本...

当我使用早期版本的 Microsoft.AspNetCore.Mvc.TagHelpers 时,我需要更改 10 多个其他依赖项的版本。这是唯一的方法吗?这可以通过比手动更好的方式完成吗?

具体和一般性如何处理此类问题?