关于堆栈有一个类似的帖子,但它可能对我的问题没有帮助,因为我使用的是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的新文件夹中,位于项目根级。
欲了解更多,请参阅微软文档参考
其他回答
帮助我通过工具>>> Nuget包管理>>>一般然后勾选选项允许Nuget下载丢失的包和自动检查丢失的包在visual studio中构建。
对于.NET核心项目,在NuGet包管理器控制台中运行dotnet restore或dotnet build命令(会自动运行恢复)
您可以从运行控制台
> NuGet包管理器>包管理器控制台
在尝试构建示例项目gplus-quickstart-csharp-master时,我也遇到了同样的问题。
我仔细查看了错误信息,并从克服这个错误中找到了一个解决方案,希望这将有所帮助。
右键单击解决方案文件并在windows资源管理器中打开。 用NuGet复制. NuGet文件夹。Config, NuGet.exe, NuGet。目标(下载链接或简单地从其他项目复制并替换) 尝试重新构建解决方案。
享受! !
如果你有任何问题或缺少任何包,你可以简单地右键单击你的项目,选择“管理NuGet包的解决方案…”。点击后,屏幕会打开,你会看到一个菜单栏上写着“还原”:
单击它,所需的软件包将自动安装。 我相信这就是你要找的,这解决了我的问题。
Ivan Branets的解决方案基本上为我解决了这个问题,但更多的细节可以分享。
在我的情况下,我在VS 2015使用自动包恢复和TFS。这些都是默认的东西。
问题是,当另一个开发人员试图从TFS获得解决方案时,一些包没有完全恢复。(为什么,我还不太确定。)但是packages文件夹包含了一个用于引用和NuGet包的文件夹,但是它没有被展开(比如一个包含.dll的lib文件夹丢失了)。这一半,但不是很正确的概念阻止了包装的恢复。
您可以认出这一点,因为该引用将有一个黄色感叹号,表示未被解析。
因此,删除包中的文件夹的解决方案消除了包恢复阻塞问题。然后,您可以在顶部解决方案级别上单击右键,以获得恢复包的选项,现在它应该可以工作了。