【问题标题】:.NET Standard 2.0 cannot be referenced in .NET Framework 2.0.NET Framework 2.0 中不能引用 .NET Standard 2.0
【发布时间】:2018-06-21 12:10:42
【问题描述】:

我收到一个错误:

'c:......\xxxx.csproj' 以 '.NETStandard,Version=v2.0' 为目标。它不能被以“.NETFramework,Version=v2.0”为目标的项目引用。 WindowsFormsApp1

如何解决?

【问题讨论】:

    标签: c# .net-2.0 .net-standard


    【解决方案1】:

    很遗憾,您无法在 .NET 2.0 项目中引用 .NET Standard 库。原因是 .NET 2.0 缺少许多关键 API,因此无法实现 .NET Standard 2.0 合同。如果您无法修改 .NET Standard 2.0 库的源代码,则唯一的选择是将您的项目升级到 .NET Framework 4.6.1 或更高版本

    最有用的参考是官方文档中列出的 .NET 标准兼容性矩阵,它显示了与不同 .NET 实现的版本兼容性:

    从这里您可以看到,第一个可以引用 .NET Standard 库的 .NET Framework 版本是 4.5,它仍然无法引用 Standard 2.0,因为它仍然缺少一些 API。

    更多详情请查看.NET Standard documentation

    【讨论】:

    • 您能否通过命名其中的一些来提示“缺少许多关键 API”?
    【解决方案2】:

    假设您遇到上述错误,例如:

    Project '*.csproj' targets 'netstandard2.0'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.5.2'.
    

    要解决问题,您需要根据@Martin 提到的表格更改项目版本。 在上面的示例中,我必须进入依赖项目中的项目设置,并将 .net 版本更改为 4.6.1 或更高版本以对应于引用项目的目标,例如netstandard 2.0 在错误消息中。

    或者,或者,以相同的方式降级另一个项目

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多