引用不属于.NET Standard的程序集

3

我正在尝试理解哪些API是.NET Standard的一部分或与之兼容的。

例如,以Microsoft.Win32.Registry为例。它不是.NET Standard的一部分,因为它是平台特定的API(即Microsoft Windows平台)。因此,在MS Docs的“适用于”部分中没有列出:

enter image description here

而且在.NET API浏览器中,在.NET Standard中没有任何关于它的内容:

enter image description here

然而,如果我正在构建一个.NET Standard类库,我可以从NuGet获取该包:

enter image description here

我没有收到任何警告。我认为这可能与.NET Framework兼容性shim有关,但是我将.NET Standard的版本设置为低于2.0,它仍然可以编译。

我错过了什么?

1个回答

1

Microsoft.Win32.Registry 不是 .NET Standard 的一部分,但作为仅限于 Windows 的 Nuget 包 可用,该包 针对 .NET Standard 2.0(在 Nuget 列表页面上展开“依赖项”以验证)。这被称为“平台扩展”。

您可以在 apisof.net 上查找此信息,在“ .NET Standard + 平台扩展”下我们看到支持 Microsoft.Win32.Registry ,但不支持“ .NET Standard”,原因已经说明。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接