关于堆栈有一个类似的帖子,但它可能对我的问题没有帮助,因为我使用的是Visual Studio 2015。

如何在VS2015中显示“启用NuGet包恢复”选项?

我选择文件>新项目,并创建一个空ASP。NET Web应用程序。我在找这个菜单项。

我应该提到,我已经在我的项目文件夹中寻找任何预先存在的nuGet文件,没有。


当前回答

您可以选择从“packages”文件夹中删除所有文件夹,并选择“Manage NuGet packages for Solution…”。在这种情况下,“恢复”按钮出现在NuGet Packages Windows上。

其他回答

关闭VS.删除packages文件夹下的所有内容。重新打开解决方案。右键单击项目,选择“Manage nuget packages…”。您将看到一个黄色条出现在“Nuget包管理器”窗口的顶部,要求您恢复包。这对我来说很有效。

Ivan Branets的解决方案基本上为我解决了这个问题,但更多的细节可以分享。

在我的情况下,我在VS 2015使用自动包恢复和TFS。这些都是默认的东西。

问题是,当另一个开发人员试图从TFS获得解决方案时,一些包没有完全恢复。(为什么,我还不太确定。)但是packages文件夹包含了一个用于引用和NuGet包的文件夹,但是它没有被展开(比如一个包含.dll的lib文件夹丢失了)。这一半,但不是很正确的概念阻止了包装的恢复。

您可以认出这一点,因为该引用将有一个黄色感叹号,表示未被解析。

因此,删除包中的文件夹的解决方案消除了包恢复阻塞问题。然后,您可以在顶部解决方案级别上单击右键,以获得恢复包的选项,现在它应该可以工作了。

也可能是在试图安装软件包时运行该程序的结果。当内置的IIS在后台运行时,如果你试图点击它,它会变成灰色。

针对。net Core 3.1的VS 2019版本16.4.4解决方案

在尝试了这里提出的几乎所有解决方案之后,我关闭了VS。 当我重新打开它时,几秒钟后一切都恢复正常了……

如果所有这些都失败了(或者在此之前),您可能需要检查并查看NuGet是否是包源代码。我安装了VS2017,默认情况下它不在那里。我觉得有点奇怪。

工具- NuGet包管理器-包管理器设置 点击对话框左侧导航的“包源”。 使用加号(+)添加Nuget URL: https://api.nuget.org/v3/index.json