【问题标题】:How to run dotnet restore forcing the restore to come from .NETStandard instead of .NETFramework?如何运行 dotnet restore 强制恢复来自 .NETStandard 而不是 .NETFramework?
【发布时间】:2020-12-23 06:22:39
【问题描述】:

我有一个在.NETFramework 创建的项目。我已按照https://docs.microsoft.com/en-us/dotnet/core/porting/ 上的步骤将解决方案转换为.NETStandard。特别是解决方案中的所有项目都将.NETStandard 作为目标框架。当我清理和构建项目时,使用.NETFramework 恢复了几个包,我收到如下错误/警告:

Warning NU1701 Package 'EntityFramework 6.1.3' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETStandard,Version=v2.1'. This package may not be fully compatible with your project.

包管理器控制台中是否有办法运行dotnet restore 强制恢复来自.NETStandard

【问题讨论】:

    标签: visual-studio entity-framework .net-standard-2.1 dotnet-restore .net-framework-4.8


    【解决方案1】:

    Entity Framework 6.1.3根本不支持.NET Standard,它只支持.NET Framework;这是因为 EF 6.1.3 是在 .NET Standard 还没有出现之前于 2015 年发布的。

    您需要使用 Entity Framework 6.3.0 或更高版本才能与 .NET Standard 兼容。

    您应该使用最新版本:Entity Framework 6.4.4

    【讨论】:

    • 我已更新到 Entity Framework 6.4.4 并收到相同的错误/警告消息。其他包也发生了同样的情况,因此该错误可能不是实体框架独有的。
    • @ENV 是否出现相同的消息但仍引用6.1.3 - 还是现在显示6.4.4.?另外,您是否尝试过对解决方案的 packages 文件夹进行核对?
    • 正确。现在它是相同的消息,但针对 6.4.4。核对解决方案的包文件夹是什么意思?
    • 通过“核对解决方案的包”,我的意思是您应该删除(或重命名)您的 packages 目录,该目录与 *.sln 文件位于同一目录中(与您的 @ 不同987654329@ 目录,别管那个)。
    猜你喜欢
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多