无法访问 .NET 标准库的类型

Cannot access types of .NET Standard Library

我在 VS2017 中创建了两个 C# 项目:

我添加了对库的引用,但无法从中访问类型。
编译器只是抱怨它既找不到名称空间也找不到 class.

此外,Studio 允许启动应用程序然后抛出:

System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.'

所以,我做错了什么?

您必须将 NETStandard.Library 添加到传统项目的参考列表中。然后所有相关的程序集都会出现在您的输出文件夹中,这样就不会发生运行时异常。 (如果您确实需要 .NET Standard Library 以外的任何东西,也可以将该包添加到这个传统项目中)。

在这个阶段,这是我们必须习惯的限制。最终微软应该找到更好的方法来解决它。

(请注意,如果版本号不匹配,您可能还需要在 app.config 中进行程序集重定向。)