【问题标题】:Visual Studio Nuget Package Manager Net Core allowing packages that are higher then target sdkVisual Studio Nuget 包管理器网络核心允许高于目标 sdk 的包
【发布时间】:2019-01-17 14:43:48
【问题描述】:

所以我有一个针对 Net Core 2.1(特别是 2.1.500)的项目

我还有一个 global.json,里面也有 2.1.500。

最近 Microsoft 更新到 Net Core 2.2,但我还不想移动到那个版本。

当我打开 Nuget 包管理器时,它显示某些包有可用的更新

问题是所有这些软件包都是针对 2.2 sdk 的,它完全忽略了我没有针对它的事实。

这似乎是一个错误,因为在 .Net 框架中,它不会建议针对高于您正在使用的 sdk 的软件包。

这是正确的吗?我应该向 Net Core 团队报告问题吗?

【问题讨论】:

    标签: c# .net-core nuget-package .net-core-2.1


    【解决方案1】:

    功能是正确的。这些库的目标是.NETStandard2.0 而不是.NET Core App 2.2,这意味着任何与.NET Standard 2.0 兼容的.NET Core 应用程序都可以使用这些库,而不管他们使用的是什么.NET SDK

    例如,查看 Visual Studio 中 Manage Nuget Packages 窗口中的 EntityFramework.SqlServerCompact。它将其依赖项列为.NETFramework,Version=v4.0,这意味着它不适用于.NET Core.NET Framework 的任何早期版本。

    此外,如果您尝试在 .NET Core 中安装 EntityFramework.SqlServerCompact 软件包,您将在错误列表窗口中看到错误:

    警告 NU1701 包“EntityFramework.SqlServerCompact 6.2.0”是 使用 '.NETFramework,Version=v4.6.1' 而不是项目恢复 目标框架“.NETCoreApp,Version=v2.1”。这个包可能不是 与您的项目完全兼容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-24
      • 2023-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      相关资源
      最近更新 更多