Nuget Package ...在项目中不存在...包...已经存在于文件夹中

时间:2016-04-29 17:38:46

标签: c# asp.net asp.net-web-api nuget nuget-package

我已经和这个错误斗争了好几个小时,并且找不到有效的解决方案。

我在多项目解决方案中有一个ASP.Net API,它的参考/依赖项配置不正确,而且我已经尝试修复它两天了。

问题是(我相信)API缺少System.Web.Http / System.Web.Http.WebHost,它显然包含在Microsoft.AspNet.WebApi.Core中(每个其他Stack Overflow问题)。当试图通过Nuget安装它时,我尝试解决依赖关系时收到以下错误。此外,我每次都会收到此错误(请参阅本问题后面的疑难解答):

Screenshot of Package Manager Console

我没有按特定顺序完成以下步骤(各种组合多次):

  • 运行'更新包Microsoft.AspNet.WebApi.Core -reinstall'
  • 删除解决方案范围内的"包"文件夹并删除项目的packages.config并尝试恢复包
  • 从物理驱动器和TFS中删除整个项目,并从头开始重新创建(它使用不正确的引用创建)
  • 通过命令行和Nuget GUI
  • 安装软件包
  • 将解决方案检查到我的硬盘驱动器上的不同位置,以尝试尽可能新鲜
  • 重新启动计算机/重新启动Visual Studio

此时,只要修复它,我就可以使用非干净的修复程序。 API在某一点上工作,但后来我将其检入TFS,创建了一个分支,现在正在分支机构工作。可能还有一些依赖项(?),但即使是这种情况,似乎我采取的步骤也应解决问题。

5 个答案:

答案 0 :(得分:7)

关闭解决方案,然后转到硬盘驱动器上的packages文件夹并删除其所有内容。在Visual Studio中再次打开您的应用程序,它将自动尝试还原包。清理解决方案并构建它。

答案 1 :(得分:5)

清除缓存为我解决了问题。可以选择清除工具>上的缓存选项> NuGet包管理器>常规菜单,名为清除所有NuGet缓存

答案 2 :(得分:2)

尝试这个..它解决了我的问题..我尝试了以上所有事情,没有运气。

转到VS TOOLS> NuGet Pacakage Manager>包管理器设置

单击“清除所有NuGet缓存”按钮

答案 3 :(得分:1)

首先,通过包管理器控制台卸载特定的NuGet包

然后,请通过右键单击 - >卸载引用此nugget包的项目。卸载项目。

卸载后右键单击项目并选择 “编辑{项目名称} .csproj”

在以前卸载的XML中查找NuGet包条目并将其删除。

从包管理器控制台再次安装包...

答案 4 :(得分:0)

没有其他答案对我有用。它一直处于无休止的安装,还原,重新启动VS的循环中,从未取得任何进展。

我最终要做的是:

  1. 关闭VS。
  2. 从“包”文件夹中删除有问题的包。
  3. 手动编辑packages.config文件,添加我需要安装的软件包名称和版本。
  4. 再次打开解决方案时,我右键单击该项目并说“ manage NuGet包”,然后单击横幅上出现的“恢复”按钮。这样就安装了拒绝安装的软件包。

大声喊叫!微软需要向yarn吸取教训,以了解如何正确进行软件包管理。