【问题标题】:Why do I get build errors when attempting to build a .NetCore 3.1 class library with EntityFrameworkCore in Visual Studio 2019?为什么在 Visual Studio 2019 中尝试使用 Entity Framework Core 构建 .Net Core 3.1 类库时出现构建错误?
【发布时间】:2021-03-04 09:01:44
【问题描述】:

我在 Visual Studio 2019(C# .Net Core 库)中创建了一个 .Net Core 3.1。 我正在尝试通过 NuGet 包管理器将 EntityFrameworkCore 添加到项目中。 尝试添加时出现一些兼容性错误。

所以我们创建了项目并在不同的系统上添加了 EntityFrameworkCore。 在我的系统上尝试在 Visual Studio 2019 中构建这些项目时,我得到了 以下错误:

这是机器上安装的 .Net 和 .NetCore 运行时和 sdks 的快照:

以下是 dotnet restore 的结果: (部分上市)

Foo.WPFApp>dotnet restore 确定要恢复的项目...: 警告 NU1701:包“System.ComponentModel.Annotations 5.0.0”是 使用 '.NETFramework,Version=v4.6.1, .NETFramework,版本=v4.6.2,.NETFramework,版本=v4.7, .NETFramework,版本=v4.7.1, .NETFramework,版本=v4.7.2, .NETFramework,Version=v4.8' 代替项目目标框架 '.NETCoreApp,版本 = v3.1'。此软件包可能不完全兼容 与您的项目。 [Foo.WPFApp\Bar.WPFApp.sln]:错误 NU1202: 包 Microsoft.EntityFrameworkCore 5.0.0 不兼容 netcoreapp3.1 (.NETCoreApp,版本=v3.1)。包裹 Microsoft.EntityFrameworkCore 5.0.0 不支持任何目标 构架。 [Foo.WPFApp\Bar.WPFApp.sln]:错误 NU1202:包 Microsoft.EntityFrameworkCore.Abstractions 5.0.0 不兼容 使用 netcoreapp3.1 (.NETCoreApp,Version=v3.1)。包裹 Microsoft.EntityFrameworkCore.Abstractions 5.0.0 不支持任何 目标框架。 [Foo.WPFApp\Bar.WPFApp.sln]:错误 NU1202: 包 Microsoft.Extensions.Caching.Memory 5.0.0 不兼容 使用 netcoreapp3.1 (.NETCoreApp,Version=v3.1)。包裹 Microsoft.Extensions.Caching.Memory 5.0.0 不支持任何目标 构架。 [Foo.WPFApp\Bar.WPFApp.sln]:错误 NU1202:包 Microsoft.Extensions.DependencyInjection 5.0.0 不兼容 netcoreapp3.1 (.NETCoreApp,版本=v3.1)。包裹 Microsoft.Extensions.DependencyInjection 5.0.0 不支持任何 目标框架。 [Foo.WPFApp\Bar.WPFApp.sln]:错误 NU1202: 包 Microsoft.Extensions.Logging 5.0.0 不兼容 netcoreapp3.1 (.NETCoreApp,版本=v3.1)。包裹 Microsoft.Extensions.Logging 5.0.0 不支持任何目标 构架。 [Foo.WPFApp\Bar.WPFApp.sln]:错误 NU1202:包

以下是 dotnet 构建的结果: (部分上市)

确定要恢复的项目... ....csproj:警告 NU1701: 使用恢复包“System.ComponentModel.Annotations 5.0.0” '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,版本=v4.7,.NETFramework,版本=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' 而不是 项目目标框架“.NETCoreApp,Version=v3.1”。这个包 可能与您的项目不完全兼容。 [Foo.WPFApp\Bar.WPFApp.sln] ....csproj:错误 NU1202:包 Microsoft.EntityFrameworkCore 5.0.0 不兼容 netcoreapp3.1 (.NETCoreApp,版本=v3.1)。包裹 Microsoft.EntityFrameworkCore 5.0.0 不支持任何目标 构架。 [Foo.WPFApp\Bar.WPFApp.sln] ....csproj:错误 NU1202: 包 Microsoft.EntityFrameworkCore.Abstractions 5.0.0 不是 与 netcoreapp3.1 (.NETCoreApp,Version=v3.1) 兼容。包裹 Microsoft.EntityFrameworkCore.Abstractions 5.0.0 不支持任何 目标框架。 [Foo.WPFApp\Bar.WPFApp.sln] ....csproj:错误 NU1202:包 Microsoft.Extensions.Caching.Memory 5.0.0 不是 与 netcoreapp3.1 (.NETCoreApp,Version=v3.1) 兼容。包裹 Microsoft.Extensions.Caching.Memory 5.0.0 不支持任何目标 构架。 [Foo.WPFApp\Bar.WPFApp.sln] ....csproj:错误 NU1202: 包 Microsoft.Extensions.DependencyInjection 5.0.0 不是 与 netcoreapp3.1 (.NETCoreApp,Version=v3.1) 兼容。包裹 Microsoft.Extensions.DependencyInjection 5.0.0 不支持任何 目标框架。 [Foo.WPFApp\Bar.WPFApp.sln] ....csproj:错误

谁能帮我找出问题并解决它?

【问题讨论】:

    标签: .net-core entity-framework-core nuget visual-studio-2019


    【解决方案1】:

    我删除了我之前的答案,因为它无效。

    这是在 Visual Studio 2019 中编译的。它在 1 台机器上工作。当我们将解决方案带到另一台机器上时,它不起作用。包:EntityFrameworkCore、.SQL 和 .Tools

    在失败的机器上重新编译项目之前,请尝试清理 bin/obj/ 文件夹。

    也尝试直接从命令行使用dotnet build 编译它。

    【讨论】:

    • 尝试了这两个选项。结果相同。我将我的 VS 2019 版本更新为 16.8.2(最新)。我刚刚加载到另一台机器上,它构建得很好。我的环境中某处是否有缓存/损坏的东西?
    • 如果你做dotnet --info,你能看到安装了.NET 3.1.x SDK吗?
    • 检查已安装运行时和 sdks 的帖子。
    • 我们在这里缺少一些东西。再次删除 bin/ 和 obj/ 文件夹后,能否提供dotnet restore(如果在还原步骤中未发现错误,则提供dotnet build)的输出?
    【解决方案2】:

    1)先尝试clean nuget caches,或者直接删除C:\Users\xxx(current user)\.nuget\packages下的所有缓存文件。

    2)Extensions-->Manage Extensions-->Installed下禁用任何已安装的vs第三方扩展>

    或者使用devenv /safemode开始初始vs来测试问题是否再次发生。

    另外,请不要忘记在安装 nuget 包之前删除每个 binobj 文件夹。

    如果您的VS2019版本不是16.8.X,请更新它,因为NET5.0是从16.8开始应用的。

    另外,尝试创建一个新的net core应用,然后测试问题是否再次出现。

    【讨论】:

    • 问题已解决-thx。我经历了步骤1)和2)。好像某处缓存了一些东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2021-10-22
    • 1970-01-01
    相关资源
    最近更新 更多