NuGet:错误 HRESULT E_FAIL 已从对 COM 组件的调用返回

Ali*_*lim 5 asp.net-mvc nuget visual-studio-2017

当我尝试使用 NuGet 添加新包时出现错误

调用 COM 组件时返回了错误 HRESULT E_FAIL。

我已经检查了几篇关于此的帖子并尝试了很多解决方案,但似乎无法找到问题所在。可能值得注意的是,我在某个时候移动并重命名了我的项目,而我留下的副本仍然可以与 NuGet 包一起使用。

在进一步研究之后,我发现了这个错误:

System.Runtime.InteropServices.COMException (0x80004005): 调用 COM 组件时返回了错误 HRESULT E_FAIL。在 EnvDTE.SourceControl.CheckOutItem(String ItemName)

我已经尝试过的:

  • 删除user.csproj和/或.suo

  • 检查所有项目引用以及它们是否正确定位

  • 删除临时文件

  • 删除 bin 和 obj 文件夹

  • 删除 ProjectTemplatesCache

  • 检查项目网络属性

  • 重新启动 VS,清理并重建项目(始终以管理员身份运行)。

  • 删除 ComponentModelCache

  • 在解决方案中删除包文件夹内容并还原 NuGet 包。

  • 在尝试添加新的 NuGet 包之前,将所有挂起的更改签入版本控制。

Ang*_*hev 11

我刚刚在 Visual Studio 2019 和 Visual Studio 2017 上使用了这个 01.08.2019。我尝试了以下解决方案,但没有用

  1. https://social.msdn.microsoft.com/Forums/officeocs/en-US/4eea5785-0a83-4389-89e3-209a5a4432c0/referencemanagerpackage-fails-to-install-vs-2017-community-edition?forum=vssetup
  2. 在添加引用时调用 COM 组件返回了错误 HRESULT E_FAIL

对我有用的只是删除.vs文件夹,并从我使用的解决方案的包文件夹中删除所有内容。然后我Restore NuGet Packages在解决方案级别上运行。


Ali*_*lim 1

签入所有待处理的更改,然后执行“立即签出以进行编辑”就可以了。