无法访问 .NET 标准库的类型
Cannot access types of .NET Standard Library
我在 VS2017 中创建了两个 C# 项目:
- .NET 标准 1.5 库
- .NET Framework 4.6.2 控制台应用程序。 (执行标准 1.5)
我添加了对库的引用,但无法从中访问类型。
编译器只是抱怨它既找不到名称空间也找不到 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 中进行程序集重定向。)
我在 VS2017 中创建了两个 C# 项目:
- .NET 标准 1.5 库
- .NET Framework 4.6.2 控制台应用程序。 (执行标准 1.5)
我添加了对库的引用,但无法从中访问类型。
编译器只是抱怨它既找不到名称空间也找不到 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 中进行程序集重定向。)