修复"包xxx与netcoreapp2.0(.NETCoreApp,Version = v2.0)"不兼容

时间:2017-09-04 12:39:16

标签: asp.net-core .net-core nuget-package .net-core-2.0 .net-4.6.1

我使用框架4.6.1创建了一个空白解决方案,并添加了一个项目核心2.0。此错误显示在许多软件包的输出中。软件包xxx与netcoreapp2.0(.NETCoreApp,Version = v2.0)'不兼容。我该如何解决?

2 个答案:

答案 0 :(得分:3)

如果您尝试安装的软件包确实支持.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. 你最后的赌注是修补包裹本身。正如您现在所猜测的那样,这更像是一个黑客而不是一个实际的解决方案。转到上述位置,找到恢复时出错的软件包(与软件包同名的文件夹)。在包中,找到并编辑 {Package Name} .nuspec文件并添加以下标记:

      

    group targetFramework =" .NETStandard2.0"

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

  5. 希望这有帮助。

答案 1 :(得分:1)

我之前尝试的步骤(其中一个可能会帮助其他人)

对我有用的解决方案如下。

我花了很多时间在这上面,现在(似乎感谢我的nuget缓存处于快乐状态),我可以创建没有这个问题的新项目!

我在reddit上发布了这个问题并尝试了很多解决方案:

  • 我卸载了所有已安装的VS版本和所有已安装的.NET Core SDK(15.4安装2.0.2),然后再次从Microsoft下载VS2017并安装它。我仍然遇到了这个问题。
  • 我检查了我的NuGet版本(它已经是最新的版本)。
  • 我有一个.NET Core SDK 1.0.1的旧工具预览,所以我删除了它(因为卸载程序被破坏后再次安装它)。
  • 已移除位于.nuget的{​​{1}}文件夹。
  • 我的问题是Netwtonsoft.Json 10.0.0,所以我尝试升级它但由于同样的问题我无法安装新版本。
  • 我尝试了ThePretendProgrammer描述的所有内容。他甚至很友好地回复了我的Reddit帖子。
  • 我尝试启用VS的活动日志,但文件中没有确凿的证据。

<强>解决方案

但我修好了!经过大量的搜索,我决定搜索错误代码而不是错误消息,我找到了这个GitHub issue并遵循了hgrewa的​​建议。

如果我尝试的所有上述步骤都不适合您,请尝试遵循hgrewa的​​建议:

  1. 在执行此操作之前,最好先清除.nuget缓存。我不确定它会有所作为,但让我们保持安全。
  2. 创建 ASP.NET核心项目。 Nuget恢复将失败,因为我们期望。
  3. 打开NuGet管理器并卸载%userprofile%\.nuget
  4. 您可能需要在下一步之前保存并重新启动。
  5. 再次打开项目并通过NuGet安装Microsoft.AspNetCore.All。它很大,因此可能需要一段时间才能恢复所有软件包。
  6. 您现在应该能够创建新的Web项目而不会出现此问题。我希望这可以帮助某人并为你节省5-6小时的时间来解决这个问题。