关于堆栈有一个类似的帖子,但它可能对我的问题没有帮助,因为我使用的是Visual Studio 2015。
如何在VS2015中显示“启用NuGet包恢复”选项?
我选择文件>新项目,并创建一个空ASP。NET Web应用程序。我在找这个菜单项。
我应该提到,我已经在我的项目文件夹中寻找任何预先存在的nuGet文件,没有。
关于堆栈有一个类似的帖子,但它可能对我的问题没有帮助,因为我使用的是Visual Studio 2015。
如何在VS2015中显示“启用NuGet包恢复”选项?
我选择文件>新项目,并创建一个空ASP。NET Web应用程序。我在找这个菜单项。
我应该提到,我已经在我的项目文件夹中寻找任何预先存在的nuGet文件,没有。
当前回答
如果在从visual studio构建应用程序时,或者试图从visual studio UI或包管理器控制台恢复应用程序时,包恢复没有自动发生,请尝试从命令行进行恢复。
检查是否在您的机器中安装了nuget,如果没有,请尝试从这里安装它,或者您可以下载nuget.exe并将其放在项目/解决方案的根目录中。
完成之后,CD到项目/解决方案包所在的路径。配置文件存在,执行以下命令。
nuget.exe restore <projectname>\packages.config -PackagesDirectory .\Packages
这里,-PackagesDirectory .\Packages组合在一起意味着恢复的输出将保存在名为Packages的新文件夹中,位于项目根级。
欲了解更多,请参阅微软文档参考
其他回答
这个方法对我很有效:
关闭VS2015 在VS2013中临时打开解决方案,并通过右键单击解决方案启用nuget包恢复(我也做了一个重建,但我怀疑这是不需要的)。 关闭VS2013 在VS2015中重新打开解决方案
你现在已经在VS2015中启用了nuget包恢复。
对于.NET核心项目,在NuGet包管理器控制台中运行dotnet restore或dotnet build命令(会自动运行恢复)
您可以从运行控制台
> NuGet包管理器>包管理器控制台
我不得不删除包文件夹关闭并重新打开(VS2015)解决方案。我没有进行迁移,也没有将包签入源代码控制。我只能说有些事情搞砸了,这个解决了。
您可以选择从“packages”文件夹中删除所有文件夹,并选择“Manage NuGet packages for Solution…”。在这种情况下,“恢复”按钮出现在NuGet Packages Windows上。
正如Mike已经提到的,在VS2015中没有“启用NuGet包还原”选项。您必须手动调用恢复过程。一个很好的方法-不会弄乱文件和目录-是使用NuGet包管理控制台:点击进入“快速开始”字段(通常在右上角),进入控制台,打开管理控制台,并输入命令:
Update-Package –reinstall
这将重新安装解决方案中所有项目的所有包。要指定单个项目,输入:
Update-Package –reinstall -ProjectName MyProject
当然,这只是在恢复按钮(有时由VS2015提供)不可用时才有必要。这里列出并解释了更多有用的更新命令:https://learn.microsoft.com/en-us/nuget/consume-packages/reinstalling-and-updating-packages