C# Nuget包。。。项目中不存在。。。包裹文件夹中已存在
我已经和这个错误斗争了好几个小时,但仍然无法想出一个有效的解决方案 我在一个多项目解决方案中有一个ASP.NETAPI,它的引用/依赖项配置不正确,我已经尝试修复它两天了 问题是(我相信)API缺少System.Web.Http/System.Web.Http.WebHost,它显然包含在Microsoft.AspNet.WebApi.Core中(根据其他多个堆栈溢出问题)。当尝试通过Nuget安装它时,我在尝试解析依赖关系时遇到以下错误。此外,我每次都会遇到此错误(请参阅本问题后面的疑难解答): 我没有按特定顺序(以各种组合多次)完成以下步骤:C# Nuget包。。。项目中不存在。。。包裹文件夹中已存在,c#,asp.net,asp.net-web-api,nuget,nuget-package,C#,Asp.net,Asp.net Web Api,Nuget,Nuget Package,我已经和这个错误斗争了好几个小时,但仍然无法想出一个有效的解决方案 我在一个多项目解决方案中有一个ASP.NETAPI,它的引用/依赖项配置不正确,我已经尝试修复它两天了 问题是(我相信)API缺少System.Web.Http/System.Web.Http.WebHost,它显然包含在Microsoft.AspNet.WebApi.Core中(根据其他多个堆栈溢出问题)。当尝试通过Nuget安装它时,我在尝试解析依赖关系时遇到以下错误。此外,我每次都会遇到此错误(请参阅本问题后面的疑难解答)
- 运行“更新包Microsoft.AspNet.WebApi.Core-重新安装”
- 删除解决方案范围的“Packages”文件夹,删除项目的Packages.config并尝试还原包
- 从物理驱动器和TFS中删除整个项目,然后从头开始重新创建(创建时引用不正确)
- 通过命令行和Nuget GUI安装软件包
- 在我的硬盘上的不同位置查看解决方案,尝试以尽可能新鲜的方式开始
- 重新启动我的计算机/重新启动Visual Studio
在这一点上,我可以使用非干净修复,只要它修复了它。API在某一点上正常工作,但后来我将其签入TFS,创建了一个分支,现在正在处理该分支。可能没有包含某些依赖项(?),但即使是这种情况,我所采取的步骤似乎应该可以解决问题。关闭解决方案,然后转到硬盘上的packages文件夹并删除其所有内容。在Visual Studio中再次打开应用程序,它将自动尝试还原包。清理并构建解决方案。首先,通过软件包管理器控制台卸载特定的NuGet软件包 然后,请通过右键单击->卸载项目卸载引用此nugget包的项目 卸载后,在项目中单击鼠标右键,然后选择 “编辑{Project Name}.csproj” 在先前卸载的XML中查找NuGet包条目并将其删除
从软件包管理器控制台再次安装软件包…清除缓存为我解决了问题。在Tools>Options>NuGet Package Manager>General菜单上有一个清除缓存的选项,名为clear All NuGet cache其他答案对我都不起作用。它一直处于安装、恢复、重新启动VS的无休止循环中,从未取得任何进展 我最后不得不做的是:
谢谢你大声呼喊!Microsoft需要学习如何正确管理软件包。是否在TFS中签入“软件包”文件夹?是否尝试运行
更新软件包-重新安装?此命令将重新安装所有项目中的所有软件包我曾经看到出现此问题,因为这些软件包文件夹已签入,而重新安装失败,因为正在执行签出操作以更新软件包文件。从TFS文件夹中删除程序包。无论如何,不建议将包保存在源代码管理中。@vendettamit您的建议加上nazarevic的合作。非常感谢你。如果你们中的任何一个想把它写下来作为一个正确的答案,我会很高兴地接受并投票。我在VS2015中遇到了这个问题。我还让VS2013运行,在那里执行相同的命令效果很好:在我的情况下,我认为这是因为我刚刚在非调试(Ctrl+F5)模式下运行了web应用程序。重新启动Visual Studio解决了问题。在我们的案例中,这发生在生成服务器上,因此必须对生成服务器在本地开发完成时使用的用户执行此操作。卸载是我缺少的关键步骤。注意:引用仍然没有正确添加,因此安装它们可能没有什么好处。