【发布时间】: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 的引用有关。没有这个参考,它构建得很好。我可以通过以下步骤重现相同的错误:
- 创建空的 ASP .net 核心项目
- 创建 .net 框架类库
- 从 #1 引用 #2 (它仍然构建良好)
- 将 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 类库。