【问题标题】:How to restore NuGet packages in Visual Studio without a full NuGet reinstall如何在不重新安装完整 NuGet 的情况下在 Visual Studio 中还原 NuGet 包
【发布时间】:2020-08-02 11:40:23
【问题描述】:

我从 GitHub 存储库下载了一个项目。 我尝试恢复它的 NuGet 包,但如果没有完全重新安装,我就无法恢复。

我想使用一个 UI 选项:

当我使用它时,它会在属性选项卡中打开解决方案属性。

这是它的设置:

当我尝试使用清除 NuGet 包缓存时,我得到以下未处理的异常:

由于有较旧的参考,如果我使用Update-Package -reinstall 命令,每个包都将更新到其最新版本(除非我一个一个地这样做......对于 47 个包中的每一个......)

我删除了 .nuget 文件夹,重建后它仍然是空的。

那么我有哪些选择来使用工作恢复?我可以以某种方式修复 Visual Studio 中的内置命令吗?

【问题讨论】:

标签: nuget visual-studio-2019


【解决方案1】:

我尝试了大多数建议的操作,但没有成功,最终完整的 Visual Studio 设置重置是解决方案。

您可以选择工具->导入和导出设置,然后选择重置所有设置。有一个选项可以将当前设置保存为备份,但由于它们假定的损坏状态,我没有保留它们。

这似乎是核选项,但它起作用了。

【讨论】:

    【解决方案2】:

    那么我有哪些选择来使用工作恢复?我可以以某种方式修复 Visual Studio 中的内置命令?

    检查github上的项目是否有名为packages.config的文件,如果有,则认可该项目使用packages.config管理nuget包。

    如果项目使用packages.confignuget管理格式来管理包,只是删除.nuget文件夹,然后重建你的项目,它并没有恢复.nuget文件夹下的包它实际上引用了来自@987654332的包@解决方案文件夹下的文件夹。

    所以您还应该从解决方案文件夹中删除packages 文件夹,然后重新构建您的项目。然后,将在.nuget文件夹下恢复包。(这是packages.config的特有功能)。

    ================================================ ======

    如果它不起作用并处理屏幕截图中显示的错误,请尝试以下建议:

    建议

    1)工具-->选项-->NuGet包管理器下打开Package Source- -> 包源,然后取消选中除nuget.org 之外的其他提要。请保留

    另外,请检查解决方案文件夹或上级文件夹下是否有nuget.config文件,如果有,请检查是否有一个名为globalPackagesFolder的键。

    喜欢

    <add key="globalPackagesFolder" value="xxxx" />
    

    请直接删除它,然后重新启动您的项目。

    更多信息可以参考this link

    2)关闭VS,删除C:\Users\xxx(current user name)\AppData\Roaming\NuGet下的全局nuget.config文件。

    另外,删除解决方案文件夹下的.vs隐藏文件夹,binobj文件夹,重启VS重新生成nuget.config文件。

    3)Extensions-->Manage Extensions

    下禁用任何第三方扩展

    4)如果VS有任何更新,请更新。

    【讨论】:

    • 没有packages.config,在csproj文件中使用PackageReference
    【解决方案3】:

    我今天遇到了同样的问题,为了解决它,我去了工具-> Nuget 包管理器-> 管理 Nuget 包以获得解决方案。选择任何包并卸载然后重新安装相同的包。完成安装后,应更新解决方案中的所有引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 2015-03-23
      • 1970-01-01
      • 2017-04-02
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多