试图解决"检测到的包降级"但由于多版本问题,无法更新包

时间:2017-12-13 19:07:38

标签: .net-core nuget-package

我收到关于'包降级'的构建错误,例如:

NU1605  Detected package downgrade: Microsoft.Extensions.Configuration.Json from 1.1.2 to 1.0.2. Reference the package directly from the project to select a different version. 
     Proj -> MySql.Data.EntityFrameworkCore.Design 6.10.5 -> MySql.Data 6.10.5 -> Microsoft.Extensions.Configuration.Json (>= 1.1.2) 
     Proj -> Microsoft.Extensions.Configuration.Json (>= 1.0.2) Proj C:\path\Proj .csproj   1   

因此,为了尝试解决它,我将尝试将Microsoft.Extensions.Configuration.Json更新包到-version 1.1.2。但是,由于上述原因,我无法告诉我升级其他软件包。

所以,问题是

PROJ -> A -> B (ver 2)
and
PROJ -> B (ver 1)

但是我无法将PROJ中的B更新为版本2,因为还存在另一个类似的问题(当我运行update-package B -version 2.0时会报告这个问题)

PROJ -> C -> D (ver 2)
and
PROJ -> D (ver 1)

解决所有这些问题的唯一方法是直接修改.csproj文件吗?

1 个答案:

答案 0 :(得分:5)

我最终在文本编辑器中打开了.csproj并修改了那里的版本号,例如。

    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.0.2" />
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.0.2" />
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="1.0.2" />

然后保存,等待VS识别更改,重建解决方案。

需要几次迭代来修复所有必需的软件包版本。

如果不清楚,我将版本修改为构建错误中报告的较高版本号。