【问题标题】:Cannot access types of .NET Standard Library [duplicate]无法访问 .NET 标准库的类型 [重复]
【发布时间】:2017-08-02 18:32:06
【问题描述】:

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

  • .NET Standard 1.5 库
  • .NET Framework 4.6.2 控制台应用程序。 (实施标准 1.5)

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

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

System.IO.FileNotFoundException: '无法加载文件或程序集 'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。这 系统找不到指定的文件。'

那么,我做错了什么?

【问题讨论】:

  • 4.6.1 仅实现 .NET Standard 1.4,所以我不确定您是否可以引用 1.5 库。
  • @TóthTibor 抱歉,打错了。 4.6.2,而不是 4.6.1 更正了我的问题。
  • 这些是空项目还是有代码?
  • @Sam 他可能读过here
  • 已经在这里回答(还有更多细节)stackoverflow.com/questions/41535341/…

标签: .net visual-studio-2017 .net-4.6.2 .net-standard-1.5


【解决方案1】:

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

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

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

【讨论】:

  • 拉包数量可观=)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-01
  • 2021-03-26
  • 2013-02-17
  • 2018-06-03
  • 2015-09-16
相关资源
最近更新 更多