2017-09-04 108 views
2

我创建了一个框架4.6.1的空白解决方案,并添加了一个项目核心2.0。这个错误显示在很多软件包的输出中(Package xxx与netcoreapp2.0(.NETCoreApp,Version = v2.0)不兼容)。我如何解决它?修复了“软件包xxx与netcoreapp2.0(.NETCoreApp,版本= v2.0)不兼容”

+1

我得到了'相同'的问题: 包Newtonsoft.Json 10.0.1与netcoreapp2.0 不兼容,由于某种原因,我无法更新一个Newtonsoft.Json。 (如果存在) – kfn

+0

@kfn我的答案能解决您的问题吗? – john

+0

我按照你所建议的约翰来查看步骤1-3,我认为他们应该工作。因为看起来我采取了相同的。不再有问题 - 谢谢你的建议。 – kfn

回答

2

几件事情你可以尝试使它工作,只要你试图安装的软件包确实支持.NET CORE 2.0

  1. 确保您的VS正在使用NuGet 4.3或更高版本。在Visual Studio中,转到帮助 - >关于Visual Studio - >注意Nuget版本并根据需要进行更新。
  2. 如果这不起作用,你可以尝试删除本地包缓存,这最有可能是在以下位置:

    C:\用户{} Your_User_Name .nuget \包

    并尝试重新恢复软件包。

  3. 如果您仍面临同样的问题,请确保您的.NET Core 2.0 SDK和VS2017的设置完全成功。如果不确定,可以尝试重新安装。

  4. 你最后一个打赌是修补程序包本身。正如你现在所猜测的那样,这比实际的解决方案更具破坏性。转到上面提到的位置,找到恢复时出现错误的软件包(与软件包名称相同的文件夹)。在这个包,查找和编辑{包名称} .nuspec文件,并添加以下代码:

    组targetFramework =”。NETStandard2.0"

    ,并通过添加内容到它复制“group targetFramework =”。NETStandard1.0“标记保存并关闭。打开同一目录下的lib文件夹并创建netstandard1.0文件夹的副本并将副本重命名为netstandard2.0

希望这会有所帮助。

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的​​建议是:

  1. 这也可能是最好的做法在这之前,清除.nuget缓存。我不确定它有什么不同,但让我们保持安全。
  2. 创建一个 ASP.NET核心项目。正如我们所期望的,Nuget恢复将失败。
  3. 打开NuGet管理器并卸载Microsoft.AspNetCore.All
  4. 您可能必须在下一步之前保存并重新启动。
  5. 再次打开该项目并通过NuGet安装Microsoft.AspNetcore.All。这很大,所以可能需要一段时间才能恢复所有的软件包。

您现在应该可以创建新的Web项目,而不会发生此问题。我希望这可以帮助别人,并帮助你节省5-6小时的时间,以帮助我解决这个问题。