【问题标题】:Project xxx is not compatible with netcoreapp2.2 (.NETCoreApp,Version=v2.2). Project xxx supports: net48 (.NETFramework,Version=v4.8)项目 xxx 与 netcoreapp2.2 (.NETCoreApp,Version=v2.2) 不兼容。项目 xxx 支持:net48 (.NETFramework,Version=v4.8)
【发布时间】:2019-06-10 08:29:56
【问题描述】:

我有引用一些 .net 框架库的 ASP .net 核心项目。我们想从 .net framework 4.6 升级到 4.8。升级后出现错误 Package xxx is not compatible with netcoreapp2.2。这个包引用了来自 nuget 的 Newtonsoft.Json。

我发现这个问题在某种程度上与对 Newtonsoft.Json 的引用有关。没有这个参考,它构建得很好。我可以通过以下步骤重现相同的错误:

  1. 创建空的 ASP .net 核心项目
  2. 创建 .net 框架类库
  3. 从 #1 引用 #2 (它仍然构建良好)
  4. 将 Newtonsoft.Json 的引用添加到 #2 我收到错误 Project ClassLibrary1 is not compatible with netcoreapp2.2 (.NETCoreApp,Version=v2.2)。项目 ClassLibrary1 支持:net472 (.NETFramework,Version=v4.7.2)

当我将框架版本更改为 4.6 时,它构建得很好。

【问题讨论】:

  • 在撰写本文时,Newtonsoft.Json 是否支持 4.8 和标准?
  • fyi 这是一个悬而未决的问题——他们希望 .net 核心和 .net 5 与所有版本的 .net 框架恢复兼容——目前是 4.6.1。但是:如果您创建一个库项目以在 .net core 和 .net framework 中使用,则应该创建一个 .NET Standard 类库。

标签: c# .net .net-core


【解决方案1】:

我将此添加到 Web 应用程序的 csproj 文件中,它解决了问题:

$(AssetTargetFallback);net48;net461

【讨论】:

    【解决方案2】:
    Is this the right way to add the AssetTargetFallback? Please suggest. Because I am still getting the same error.
    
      <PropertyGroup>
        <TargetFramework>netcoreapp2.2</TargetFramework>
          <AssetTargetFallback Condition="'$(TargetFramework)'=='netcoreapp2.2'">
            $(AssetTargetFallback);net48;net461
          </AssetTargetFallback>
      </PropertyGroup>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 2018-06-07
      • 2018-06-20
      • 2018-10-21
      • 2021-05-21
      • 2019-12-14
      • 1970-01-01
      • 2019-02-24
      相关资源
      最近更新 更多