尝试解决“检测到包降级”问题,但由于存在多个版本问题,无法使用update-package进行更新。

4

我遇到了与“包降级”相关的构建错误,例如:

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 包到版本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文件吗?

卸载所有没有其他包依赖的包,然后按照相同的顺序重新安装它们。 - Yahya Hussein
1个回答

8

最终我在文本编辑器中打开了.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识别更改,重新构建解决方案。

需要进行多次迭代以修复所有必需的软件包版本。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接