【问题标题】:Project X targets '.NETStandard,Version=v1.6'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.6.1'项目 X 的​​目标是“.NETStandard,Version=v1.6”。以 '.NETFramework,Version=v4.6.1' 为目标的项目不能引用它
【发布时间】:2017-04-25 15:14:00
【问题描述】:

我真的很想成为一个好公民...将我所有的课程复制到 .net 标准 1.6 库中。只是为了发现我的测试 DLL 不能使用它。我收到以下错误

Project X 以“.NETStandard,Version=v1.6”为目标。它不能被以 '.NETFramework,Version=v4.6.1' 为目标的项目引用。

当然,当我检查 .Net Standard (https://docs.microsoft.com/en-us/dotnet/articles/standard/library) 时,它说使用 1.6可以针对 4.6.1

我试过 4.6.2 没有更好的运气。我安装了.net standard 1.6.1 NuGet 包。无论如何,你们太棒了,我相信你们会告诉我,我犯了哪个愚蠢的错误,导致我无法做一些基本的事情,比如使用 .net 标准库运行单元测试。

谢谢


P.S. 我确实找到了一种解决方法,方法是使用 .net 核心单元测试项目而不是 .net 框架项目。它不能解决我的问题,所以我不能将其标记为答案,但至少我可以回到编码......

【问题讨论】:

  • "Tools 2.0" 有很多错误,只是测试得不够好。你必须满足于1.4。请考虑等待,这还没有完成。
  • 我不能使用 1.4,我需要 System.Runtime.Loader;
  • 我在 1.6 中遇到了完全相同的问题,将 .Net 标准项目更改为 1.4 后,我的 4.6.1 项目编译成功。 FWIW 我也试过 1.5,但它的行为与 1.6 相同。
  • @GregTrevelick 先生,你应该得到棒棒糖 :)
  • @MickyD 干杯!

标签: c# .net .net-standard


【解决方案1】:

您需要升级到.Net Core SDK 2.x+

安装后重启你的机器,你应该可以在 .Net Framework 4.6.1+ 中引用 NetStandard 1.6

使用 .Net Core SDK 1.x,您只能在 .Net Framework 4.6.2 中引用 Net Standard 1.5

如果可以的话,最好将您的 Net Standard 项目升级到 2.0 版。

【讨论】:

    【解决方案2】:

    如果出现针对不同版本的.net framework的类似标题的错误,这通常意味着您需要(如果尚未安装并且)将项目的目标更改为更新/最新版本的 .net 框架,以符合针对较新 .net 标准的项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-08
      • 2021-12-05
      • 1970-01-01
      • 2021-11-25
      • 2019-04-04
      • 2019-12-14
      • 2021-05-22
      • 2018-06-07
      相关资源
      最近更新 更多