我有一个.NET 6项目,我想降级到.NET 5,所以我将目标框架从6更改为5。
<TargetFramework>net5.0</TargetFramework>
这样做之后,我得到了很多包兼容性错误,这是预期的,例如:
Package Microsoft.EntityFrameworkCore.Tools 6.0.5 is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Package Microsoft.EntityFrameworkCore.Tools 6.0.5 supports: net6.0 (.NETCoreApp,Version=v6.0)
然而,当我尝试使用NuGet软件包管理器或软件包管理器控制台降级软件包时,我收到了所有其他软件包的兼容性错误,软件包降级失败。似乎我无法逐个降级每个软件包,不知何故,我需要同时降级所有软件包。
输入:
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 5.0.17
输出量:
Install-Package : NU1202: Package Abp.AspNetCore.SignalR 7.2.1 is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Package Abp.AspNetCore.SignalR 7.2.1 supports: net6.0
(.NETCoreApp,Version=v6.0)
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.Design -Version 5.0.17
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
Install-Package : NU1202: Package Microsoft.AspNetCore.Authentication.JwtBearer 6.0.5 is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Package
Microsoft.AspNetCore.Authentication.JwtBearer 6.0.5 supports: net6.0 (.NETCoreApp,Version=v6.0)
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.Design -Version 5.0.17
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
Install-Package : NU1202: Package Microsoft.EntityFrameworkCore.SqlServer 6.0.5 is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Package Microsoft.EntityFrameworkCore.SqlServer 6.0.5
supports: net6.0 (.NETCoreApp,Version=v6.0)
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.Design -Version 5.0.17
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
Install-Package : NU1202: Package Microsoft.EntityFrameworkCore 6.0.5 is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Package Microsoft.EntityFrameworkCore 6.0.5 supports: net6.0
(.NETCoreApp,Version=v6.0)
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.Design -Version 5.0.17
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
Install-Package : NU1202: Package Owl.reCAPTCHA 0.5.0 is not compatible with net5.0 (.NETCoreApp,Version=v5.0). Package Owl.reCAPTCHA 0.5.0 supports: net6.0 (.NETCoreApp,Version=v6.0)
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.Design -Version 5.0.17
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
Install-Package : Package restore failed. Rolling back package changes for 'ATC.Web.Host'.
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore.Design -Version 5.0.17
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], Exception
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
2条答案
按热度按时间kknvjkwl1#
我在升级某些软件包时也遇到过类似的问题。我进入项目文件,手动编辑版本号。
jchrr9hc2#
你安装的nuget包之间有一个引用关系。所以当你使用命令行
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 5.0.17
时会得到这些错误。正如jmcilhinney所说,您可以在.proj文件中更改包的版本,但您必须确保修改后的版本号与.net5兼容,您可以在nuget.org中查看版本和适用的框架。
此问题的另一个解决方案是卸载所有软件包并重新安装.net5兼容版本。