修复了“软件包xxx与netcoreapp2.0(.NETCoreApp,版本= v2.0)不兼容”
我创建了一个框架4.6.1的空白解决方案,并添加了一个项目核心2.0。这个错误显示在很多软件包的输出中(Package xxx与netcoreapp2.0(.NETCoreApp,Version = v2.0)不兼容)。我如何解决它?修复了“软件包xxx与netcoreapp2.0(.NETCoreApp,版本= v2.0)不兼容”
几件事情你可以尝试使它工作,只要你试图安装的软件包确实支持.NET CORE 2.0。
- 确保您的VS正在使用NuGet 4.3或更高版本。在Visual Studio中,转到帮助 - >关于Visual Studio - >注意Nuget版本并根据需要进行更新。
-
如果这不起作用,你可以尝试删除本地包缓存,这最有可能是在以下位置:
C:\用户{} Your_User_Name .nuget \包
并尝试重新恢复软件包。
如果您仍面临同样的问题,请确保您的.NET Core 2.0 SDK和VS2017的设置完全成功。如果不确定,可以尝试重新安装。
-
你最后一个打赌是修补程序包本身。正如你现在所猜测的那样,这比实际的解决方案更具破坏性。转到上面提到的位置,找到恢复时出现错误的软件包(与软件包名称相同的文件夹)。在这个包,查找和编辑{包名称} .nuspec文件,并添加以下代码:
组targetFramework =”。NETStandard2.0"
,并通过添加内容到它复制“group targetFramework =”。NETStandard1.0“标记保存并关闭。打开同一目录下的lib文件夹并创建netstandard1.0文件夹的副本并将副本重命名为netstandard2.0
希望这会有所帮助。
步骤我想在此之前(其中之一可以帮助别人)
为我工作的解决方案如下。
我在这方面花了很多时间,现在(看起来感谢我的nuget缓存处于开心状态),我可以在没有此问题的情况下创建新项目!
我张贴有关这位上reddit并尝试了许多解决方案:
- 我卸载已安装的(15.4安装2.0.2),然后从微软并重新下载VS2017所有VS版本和所有.NET SDK的核心安装它。我仍然遇到了这个问题。
- 我检查了我的NuGet版本(它已经是最新的版本)。
- 我有一个旧的工具预览的.NET Core SDK 1.0.1,所以我删除了(因为卸载程序已损坏再次安装它)。
- I 删除我的
.nuget
文件夹位于%userprofile%\.nuget
。 - 我的问题是与Netwtonsoft.Json 10.0.0,所以我尝试升级它,但由于相同的问题,我无法安装较新的版本。
- 我尝试了ThePretendProgrammer所描述的一切。他甚至友善地回复我的Reddit帖子。
- 我尝试启用VS的活动日志,但文件中没有确凿的证据。
解决方案
但我定了!经过大量搜索,我决定搜索错误代码而不是错误消息,我发现这个GitHub issue,并遵循hgrewa的建议。
如果所有我想对你没有工作上面的步骤,尝试以下hgrewa的建议是:
- 这也可能是最好的做法在这之前,清除.nuget缓存。我不确定它有什么不同,但让我们保持安全。
- 创建一个空 ASP.NET核心项目。正如我们所期望的,Nuget恢复将失败。
- 打开NuGet管理器并卸载
Microsoft.AspNetCore.All
- 您可能必须在下一步之前保存并重新启动。
- 再次打开该项目并通过NuGet安装
Microsoft.AspNetcore.All
。这很大,所以可能需要一段时间才能恢复所有的软件包。
您现在应该可以创建新的Web项目,而不会发生此问题。我希望这可以帮助别人,并帮助你节省5-6小时的时间,以帮助我解决这个问题。
我得到了'相同'的问题: 包Newtonsoft.Json 10.0.1与netcoreapp2.0 不兼容,由于某种原因,我无法更新一个Newtonsoft.Json。 (如果存在) – kfn
@kfn我的答案能解决您的问题吗? – john
我按照你所建议的约翰来查看步骤1-3,我认为他们应该工作。因为看起来我采取了相同的。不再有问题 - 谢谢你的建议。 – kfn