如何在 Visual Studio 2015 中启用 nuget 包还原功能?
我的上下文菜单中缺少该功能(是的 - 我已经仔细检查过我在解决方案而不是项目上尝试了它)
我唯一的项目是 .NET 4.5 控制台应用程序 - 还没有 .nuget 文件夹。安装了一个实际的 nuget 包。
如何在 Visual Studio 2015 中启用 nuget 包还原功能?
我的上下文菜单中缺少该功能(是的 - 我已经仔细检查过我在解决方案而不是项目上尝试了它)
我唯一的项目是 .NET 4.5 控制台应用程序 - 还没有 .nuget 文件夹。安装了一个实际的 nuget 包。
我遇到了和你一样的问题,我解决它的方法是packages
从我的解决方案中删除文件夹以及解决方案bin
中obj
每个项目的文件夹并重新构建它。
事实证明,真正的解决方案是迁移到 Automatic Package Restore。在 2013 年工作一段时间后升级到 VS 2015 后,我们遇到了 NuGet 问题。结果证明,旧的 NuGet 方法完全取代了新的方法。
解决方案很简单,虽然很乏味。显然 NuGet.targets 文件向 VS 发出信号以使用旧的 NuGet 处理方式,并且它的缺失意味着您现在正在使用“自动包还原”。您可以按照以下步骤迁移到自动包还原:
<RestorePackages>true</RestorePackages> ... <Import Project="$(SolutionDir)\.nuget\nuget.targets" /> ... <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> </Target>
如果您觉得大胆,还有一个 powershell 脚本将为您执行迁移。你可以在github上找到它。
对于其他人,此选项在 Visual Studio 选项的 Nuget 设置部分中可用
我在恢复包时遇到了错误 401 unauthorized 的问题。我通过取消选中可用的本地包源找到了解决方案。调试 > 选项 > NuGet 包管理器 > 包源
只允许 nuget.org 包
嗯,VS2015 非常简单,我所要做的就是右键单击我的项目解决方案,然后单击恢复 nuget。
在管理员模式下启动 Visual Studio 2015 后,我在访问包文件夹时遇到问题,因此我删除了它以执行还原。
但是在重建解决方案时没有执行恢复,并且在解决方案级别或 Nuget 窗口中没有找到恢复包。
但是,如果您右键单击解决方案中项目上的“引用”节点,则会出现“还原包”选项。在所有项目上运行它为我修复了它。