.Net NuGet 包多目标 .网络标准 2.0 预发布/.NetFramework v4.6.1 兼容 UWP 项目



我创建了一个 NuGet 包,该包支持在 .NetStandard 2.0 预发布版和 .NetFramework v4.6.1(在Visual Studio 15.3预览版中构建和使用(

我知道.NetStandard 2.0 预发布版本在 vnext 之前与 UWP 不兼容,但我的理解是.NetFramework v4.6.1 是兼容的。

我目前无法将 NuGet 包安装到 UWP 项目,有没有办法使其兼容?

.NETStandard 是 .NET API 的正式规范,旨在在所有 .NET 运行时上可用。它为所有要实现的 .NET 平台定义了一组统一的 API,与工作负载无关。

当 NuGet 包面向 .NET Standard 2.0时,这意味着此包可以在 .NET Core 2.0 和 .NET Framework 4.6.1(使用工具2.0预览版(中使用。所以从字面上看,.Net Standard2.0和.NET Framework 4.6.1之间没有多目标,它应该是.NETCore 2.0和.NET Framework4.6.1之间的多目标。

如果希望程序包与UWP和 .NET Framework 4.6.1 兼容,则可以面向 .NET Standard 1.4这是两个平台目前支持的最高版本的 .NET 标准。因此,无法将 .NET 标准 2.0 包安装到 UWP 项目。

选择 .NET 标准版本时,应考虑以下权衡:

  • 版本越高,可用的 API 就越多。
  • 版本越低,实现它的平台就越多。

通常,我们建议你以尽可能版本的 .NET Standard 为目标。因此,在找到可以面向的最高 .NET 标准版本后,请执行以下步骤:

  1. 以下一个较低版本的 .NET 标准为目标并生成项目。
  2. 如果项目成功生成,请重复步骤 1。否则,请重定向到下一个更高的版本,这是您应该使用的版本。

有关详细信息,请参阅 .NET 平台支持。

对于UWP.NET Framework 4.6.1,它们之间没有兼容性。尽管 .NET Framework 中提供的类型子集可用于使用 C# 或 Visual Basic 创建 UWP 应用,但这是因为这些 API 是 .NET Standard 的一部分,因此它们在 UWP 中可用。如果包面向 .NET Framework 4.6.1,则也不能在 UWP 中使用。

相关内容

最新更新