asp.net 项目中不存在Nuget包...文件夹中已存在包...

8xiog9wr  于 2023-04-08  发布在  .NET
关注(0)|答案(5)|浏览(340)

我已经与这个错误斗争了几个小时,但无法想出一个有效的解决方案。
我在一个多项目解决方案中有一个ASP API,它的引用/依赖项配置不正确,我已经尝试修复它两天了。
问题是(* 我相信 *)API缺少System.Web.Http / System.Web.Http.WebHost,它显然包含在Microsoft.AspNet.WebApi.Core中(根据多个其他Stack Overflow问题)。当尝试通过Nuget安装它时,我在尝试解决依赖关系时遇到以下错误。此外,我每次都遇到此错误(请参阅本问题后面的故障排除):

我已经以不特定的顺序完成了以下步骤(每个步骤以各种组合多次):

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

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

dgsult0t

dgsult0t1#

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

2lpgd968

2lpgd9682#

该高速缓存解决了我的问题,在【工具】〉【选项】〉【NuGet包管理器】〉【常规】菜单中有一个清除缓存的选项,叫做【清除所有NuGet缓存】。

m1m5dgzv

m1m5dgzv3#

首先,通过包管理器控制台卸载特定的NuGet包
然后,请通过右键单击-〉Unload Project来卸载引用此nugget包的项目。
卸载后,右键单击项目并选择“Edit {Project Name}.csproj”
在您之前卸载的XML中找到NuGet包条目并将其删除。
从包管理器控制台重新安装包...

epggiuax

epggiuax4#

其他的答案对我来说都不起作用。它一直在安装,恢复,重新启动VS的无休止循环中进行,从来没有取得任何进展。
我最后不得不做的是:
1.关闭VS。
1.从packages文件夹中删除有问题的包。
1.手动编辑packages.config文件,添加安装所需的软件包名称和版本。
1.当我再次打开解决方案时,我右键单击项目并说“管理NuGet包”,然后单击横幅上出现的“恢复”按钮。这安装了拒绝安装的包。
为了大声哭出来!微软需要从yarn身上吸取教训,如何正确地进行包管理。

c2e8gylq

c2e8gylq5#

我发现我安装的软件包是错误的/不推荐的。当我去删除它们时,我得到了这个错误。没有一个解决方案对我有用。我进入项目文件,删除了有问题的软件包,刷新了nuget,它们就消失了。然后我就可以下载替换的nuget软件包了。

相关问题