【问题标题】:Nuget Package ... does not exist in project ... Package ... Already exists in folderNuget 包 ... 项目中不存在 ... 包 ... 已存在于文件夹中
【发布时间】:2016-04-29 17:38:46
【问题描述】:

我已经与此错误作斗争了几个小时,但无法提出可行的解决方案。

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

问题是(我相信)API 缺少 System.Web.Http / System.Web.Http.WebHost 这显然包含在 Microsoft.AspNet.WebApi.Core 中(每多个其他堆栈溢出问题)。尝试通过 Nuget 安装它时,尝试解决依赖关系时出现以下错误。此外,我每次都收到此错误(请参阅本问题后面的故障排除):

我已按不特定顺序执行了以下步骤(每个步骤以各种组合多次):

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

在这一点上,我可以接受非干净修复,只要它能修复它。该 API 曾一度工作,但后来我将其签入 TFS,创建了一个分支,现在正在处理该分支。可能没有包含一些依赖项(?),但即使是这种情况,我采取的步骤似乎应该可以解决问题。

【问题讨论】:

  • “Packages”文件夹是否已在 TFS 中签入?
  • 你试过运行update-package -reinstall 吗?此命令重新安装所有项目中的所有包
  • 我曾经看到这个问题是因为那些包文件夹被签入并且重新安装失败,因为正在执行签出操作以更新包文件。从 TFS 中删除 packages 文件夹工作。无论如何,不​​建议将包保存在源代码管理中。
  • @vendettamit 您的建议加上 nazarevic 的共同努力。太感谢了。如果你们中的任何一个想把它写成一个正确的答案,我会很乐意接受并投赞成票。
  • 我在 VS2015 中遇到了这个问题。我也运行了 VS2013,在那里执行相同的命令效果很好:S

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


【解决方案1】:

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

【讨论】:

  • 就我而言,我认为这是因为我刚刚在非调试 (Ctrl+F5) 模式下运行了 Web 应用程序。重新启动 Visual Studio 解决了这个问题。
  • 在我们的例子中,这发生在我们的构建服务器上,因此必须在本地开发正常时构建服务器使用的用户执行此操作
【解决方案2】:

清除缓存为我解决了这个问题。 Tools > Options > NuGet Package Manager > General 菜单上有一个清除缓存的选项,名为 Clear All NuGet Cache(s)

【讨论】:

    【解决方案3】:

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

    然后,请通过右键-> Unload Project 卸载引用此Nugget包的项目。

    卸载后在项目中右键选择 "编辑 {项目名称}.csproj"

    在您之前卸载的 XML 中找到 NuGet 包条目并将其删除。

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

    【讨论】:

    • 卸载是我错过的关键步骤。
    【解决方案4】:

    其他答案都不适合我。它一直在安装、还原、重新启动 VS 的无限循环中进行,从未取得任何进展。

    我最终不得不做的是:

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

    为了大声哭泣!微软需要向yarn 学习如何正确地进行包管理。

    【讨论】:

    • 注意:引用仍然没有正确添加,所以安装它们我猜没有用。
    猜你喜欢
    • 2020-01-12
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 2021-03-24
    相关资源
    最近更新 更多