【发布时间】: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