我正在尝试了解哪些 API 是 .NET Standard 的一部分或与 .NET Standard 兼容。
以Microsoft.Win32.Registry
为例.它不是 .NET Standard 的一部分,因为它是特定于平台的 API(即 Microsoft Windows 平台)。因此,它没有列在 MS Docs 的“适用于”部分:
和the .NET API Browser在 .NET Standard 中没有列出任何内容:
但是,如果我正在构建 .NET Standard 类库,我可以从 NuGet 中获取包:
我没有收到任何警告。我认为这可能与 .NET Framework 兼容性垫片有关,但我将 .NET Standard 的版本设置为低于 2.0,它仍然可以编译。
我错过了什么?
最佳答案
Microsoft.Win32.Registry
不是 .NET Standard 的一部分,但仅作为 Windows 可用 Nuget package 目标 .NET Standard 2.0(展开 Nuget 列表页面上的“依赖项”以进行验证)。这称为“平台扩展”。
您可以在 apisof.net 上查找,我们在“.NET Standard + Platform Extensions”下看到 Microsoft.Win32.Registry
支持,但在“.NET Standard”下没有看到支持,原因已经说明。
关于.net - 引用不属于 .NET Standard 的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54542174/