Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Nuget包。。。项目中不存在。。。包裹文件夹中已存在_C#_Asp.net_Asp.net Web Api_Nuget_Nuget Package - Fatal编程技术网

C# 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安装它时,我在尝试解析依赖关系时遇到以下错误。此外,我每次都会遇到此错误(请参阅本问题后面的疑难解答)

我已经和这个错误斗争了好几个小时,但仍然无法想出一个有效的解决方案

我在一个多项目解决方案中有一个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的无休止循环中,从未取得任何进展

我最后不得不做的是:

  • 接近与
  • 从“软件包”文件夹中删除有问题的软件包
  • 手动编辑packages.config文件,添加我需要安装的包名和版本
  • 当我再次打开解决方案时,我右键单击该项目并说“manage NuGet packages”,然后单击横幅上显示的“Restore”按钮。这安装了拒绝安装的软件包

  • 谢谢你大声呼喊!Microsoft需要学习如何正确管理软件包。

    是否在TFS中签入“软件包”文件夹?是否尝试运行
    更新软件包-重新安装
    ?此命令将重新安装所有项目中的所有软件包我曾经看到出现此问题,因为这些软件包文件夹已签入,而重新安装失败,因为正在执行签出操作以更新软件包文件。从TFS文件夹中删除程序包。无论如何,不建议将包保存在源代码管理中。@vendettamit您的建议加上nazarevic的合作。非常感谢你。如果你们中的任何一个想把它写下来作为一个正确的答案,我会很高兴地接受并投票。我在VS2015中遇到了这个问题。我还让VS2013运行,在那里执行相同的命令效果很好:在我的情况下,我认为这是因为我刚刚在非调试(Ctrl+F5)模式下运行了web应用程序。重新启动Visual Studio解决了问题。在我们的案例中,这发生在生成服务器上,因此必须对生成服务器在本地开发完成时使用的用户执行此操作。卸载是我缺少的关键步骤。注意:引用仍然没有正确添加,因此安装它们可能没有什么好处。