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

时间:2019-02-05 20:03:01

标签: .net visual-studio compatibility .net-standard class-library

我试图弄清哪些API是.NET Standard的一部分或与之兼容。

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

enter image description here

the .NET API Browser在.NET Standard中未列出任何内容:

enter image description here

但是,如果我要构建.NET Standard类库,则可以从NuGet中获取程序包:

enter image description here

我没有收到任何警告。我以为可能与.NET Framework兼容性垫片有关,但我将.NET Standard的版本设置为2.0以下,并且仍可以编译。

我想念什么?

1 个答案:

答案 0 :(得分:0)

Microsoft.Win32.Registry不是.NET Standard的一部分,但可以作为面向.NET Standard 2.0的仅Windows的Nuget package使用(在Nuget列表页上展开“ Dependencies”进行验证)。这就是所谓的“平台扩展”。

您可以在apisof.net上进行查找,我们在“ .NET Standard + Platform Extensions”下看到Microsoft.Win32.Registry支持,但出于上述原因,在“ .NET Standard”下却没有。 / p>