.net core 检测到包降级:System.Runtime从4.3.1降级到4.3.0

.net core 检测到包降级:System.Runtime从4.3.1降级到4.3.0,.net-core,nuget,teamcity,asp.net-core-2.0,dotnet-restore,.net Core,Nuget,Teamcity,Asp.net Core 2.0,Dotnet Restore,本地Visual Studio生成运行干净,没有此类还原错误 但是TeamCity build在这种情况下会抛出许多错误 我有两个问题: 如何可靠地解决此错误 请注意,将包引用添加到.csproj不是一个好的选择,因为我的构建有很多这种类型的错误。可能需要向dependencies树中的每个叶包添加显式的PackageReference 代码为什么认为这是一个错误而不是一个警告? 在我看来,版本约束是兼容的,因为4.3.1同时满足System.Runtime(>=4.3.1)和System.Ru

本地Visual Studio生成运行干净,没有此类还原错误

但是TeamCity build在这种情况下会抛出许多错误

我有两个问题:

  • 如何可靠地解决此错误 请注意,将包引用添加到.csproj不是一个好的选择,因为我的构建有很多这种类型的错误。可能需要向dependencies树中的每个叶包添加显式的
    PackageReference

    <>代码为什么认为这是一个错误而不是一个警告?<李> 在我看来,版本约束是兼容的,因为
    4.3.1
    同时满足
    System.Runtime(>=4.3.1)
    System.Runtime(>=4.3.0)

    这难道不是
    Newtonsoft.Json 10.0.1
    的作者想要的吗

    在四个不同的版本(在四个不同的应用程序中)中发生了类似类型的错误:

    [restore]MyApp.csproj:错误NU1605:检测到包降级:Microsoft.EntityFrameworkCore.Relational从2.2.1降级到2.2.0。直接从项目中引用包以选择其他版本。
    MyApp.csproj:错误NU1605:MyApp->Microsoft.AspNetCore.App 2.2.0->Microsoft.EntityFrameworkCore.Design 2.2.1->Microsoft.EntityFrameworkCore.Relational(>=2.2.1)
    MyApp.csproj:错误NU1605:MyApp->Microsoft.AspNetCore.App 2.2.0->Microsoft.EntityFrameworkCore.Relational(>=2.2.0&&<2.3.0)
    MyApp.csproj:错误NU1605:检测到包降级:Microsoft.EntityFrameworkCore从2.2.1降级到2.2.0。直接从项目中引用包以选择其他版本。
    MyApp.csproj:错误NU1605:MyApp->Microsoft.AspNetCore.App 2.2.0->Microsoft.EntityFrameworkCore.InMemory 2.2.1->Microsoft.EntityFrameworkCore(>=2.2.1)
    MyApp.csproj:错误NU1605:MyApp->Microsoft.AspNetCore.App 2.2.0->Microsoft.EntityFrameworkCore(>=2.2.0&&<2.3.0)
    
    因为我几乎同时在所有四个构建中看到了这些错误,并且因为没有可能导致错误的代码提交(而且肯定不是在所有四个应用中),这让我相信构建代理上发生了一些更改(与其他人共享)


    或者,是什么原因导致许多应用程序恢复同时出现这些错误而开始失败

    检查csproj文件中是否存在重复的PackageReference条目。我想我遇到了同样的问题
    .NET Core 2.2.0
    TeamCity Professional 2019.1.2 (build 66342)
    
    build step .NET CLI dotnet restore
    
    error NU1605: Detected package downgrade: System.Runtime from 4.3.1 to 4.3.0. Reference the package directly from the project to select a different version.
    
    error NU1605:  MyTestProject -> MyProject -> Microsoft.AspNet.WebApi.Client 5.2.6 -> Newtonsoft.Json 10.0.1 -> System.Runtime.Extensions 4.3.1 -> System.Runtime (>= 4.3.1)
    
    error NU1605:  MyTestProject -> MyProject -> Microsoft.AspNet.WebApi.Client 5.2.6 -> Newtonsoft.Json 10.0.1 -> System.Runtime (>= 4.3.0)
    
    [restore] MyApp.csproj: error NU1605: Detected package downgrade: Microsoft.EntityFrameworkCore.Relational from 2.2.1 to 2.2.0. Reference the package directly from the project to select a different version.
    MyApp.csproj: error NU1605:  MyApp -> Microsoft.AspNetCore.App 2.2.0 -> Microsoft.EntityFrameworkCore.Design 2.2.1 -> Microsoft.EntityFrameworkCore.Relational (>= 2.2.1)
    MyApp.csproj: error NU1605:  MyApp -> Microsoft.AspNetCore.App 2.2.0 -> Microsoft.EntityFrameworkCore.Relational (>= 2.2.0 && < 2.3.0)
    MyApp.csproj: error NU1605: Detected package downgrade: Microsoft.EntityFrameworkCore from 2.2.1 to 2.2.0. Reference the package directly from the project to select a different version.
    MyApp.csproj: error NU1605:  MyApp -> Microsoft.AspNetCore.App 2.2.0 -> Microsoft.EntityFrameworkCore.InMemory 2.2.1 -> Microsoft.EntityFrameworkCore (>= 2.2.1)
    MyApp.csproj: error NU1605:  MyApp -> Microsoft.AspNetCore.App 2.2.0 -> Microsoft.EntityFrameworkCore (>= 2.2.0 && < 2.3.0)