如何在Visual Studio 2015中启用nuget包还原功能?
我的上下文菜单中缺少该功能(是的 - 我已经仔细检查过我在解决方案而不是项目上尝试它)
我唯一的项目是.NET 4.5控制台应用程序 - 还没有.nuget文件夹 . 安装了一个实际的nuget包 .
enter image description here
对VS2015来说非常简单,我所要做的就是右键单击我的项目解决方案并点击恢复nuget .
我和你有同样的问题,我解决它的方法是从我的解决方案中删除 packages 文件夹,并从解决方案中的每个项目中删除 bin 和 obj 文件夹并给它重建 .
packages
bin
obj
事实证明,真正的解决方案是migrate to Automatic Package Restore . 在2013年工作一段时间后,我们在升级到VS 2015后遇到了NuGet的问题 . 结果表明,NuGet完全采用了新方法 .
虽然单调乏味,但解决方案很简单 . 显然,NuGet.targets文件向VS发出信号,使用旧的NuGet处理方式,而且缺少意味着您现在正在使用“自动包恢复” . 您可以按照以下步骤迁移到自动包还原:
删除.nuget / NuGet.exe
删除.nuget / NuGet.targets
对于每个项目:
卸载项目
右键单击 - >编辑项目
删除对NuGet.targets文件的所有引用,即:
<RestorePackages> true </ RestorePackages>...<Import Project =“$(SolutionDir)\ . nuget \ nuget.targets”/>...<Target Name =“EnsureNuGetPackageBuildImports”BeforeTargets =“PrepareForBuild”><的PropertyGroup><ErrorText>此项目引用此计算机上缺少的NuGet包 . 启用NuGet Package Restore以下载它们 . 有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105 . 丢失的文件是{0} . </ ErrorText></的PropertyGroup><Error Condition =“!Exists('$(SolutionDir)\ . nuget \ NuGet.targets')”Text =“$([System.String] :: Format('$(ErrorText)','$(SolutionDir)\ .nuget \ NuGet.targets'))“/></目标>
如果您感觉很大胆,还有一个PowerShell脚本可以为您执行迁移 . 你可以在github找到它 .
对于其他人,此选项在Visual Studio选项的Nuget设置部分中可用
我有恢复包的问题,错误401未经授权 . 我通过取消选中可用的本地包源找到了解决方案 . Debug> Options> NuGet Package Manager> Package Sources
只允许nuget.org包
我的Visual Studio 2015 Professional使用默认设置进行安装 . 默认情况下已经选中了“允许NuGet下载丢失的软件包”和“在Visual Studio中构建期间自动检查缺少的软件包”的选项,但我仍然无法下载软件包 . 我收到一个错误,无法找到包版本 .
我需要单击 Tools > Options > NuGet Package Manager > Package Sources 下的复选框以使NuGet Package Restore按预期工作 .
在管理员模式下启动Visual Studio 2015后,我在访问packages文件夹时遇到问题,因此我删除了它以执行还原 .
但是在重建解决方案时没有执行还原,并且在解决方案级别或Nuget窗口中找不到还原包 .
但是,如果右键单击解决方案中项目的 References 节点,则会有一个 Restore Packages 选项 . 在所有项目上运行此操作为我修复了它 .
7 回答
enter image description here
对VS2015来说非常简单,我所要做的就是右键单击我的项目解决方案并点击恢复nuget .
我和你有同样的问题,我解决它的方法是从我的解决方案中删除
packages
文件夹,并从解决方案中的每个项目中删除bin
和obj
文件夹并给它重建 .事实证明,真正的解决方案是migrate to Automatic Package Restore . 在2013年工作一段时间后,我们在升级到VS 2015后遇到了NuGet的问题 . 结果表明,NuGet完全采用了新方法 .
虽然单调乏味,但解决方案很简单 . 显然,NuGet.targets文件向VS发出信号,使用旧的NuGet处理方式,而且缺少意味着您现在正在使用“自动包恢复” . 您可以按照以下步骤迁移到自动包还原:
删除.nuget / NuGet.exe
删除.nuget / NuGet.targets
对于每个项目:
卸载项目
右键单击 - >编辑项目
删除对NuGet.targets文件的所有引用,即:
如果您感觉很大胆,还有一个PowerShell脚本可以为您执行迁移 . 你可以在github找到它 .
对于其他人,此选项在Visual Studio选项的Nuget设置部分中可用
我有恢复包的问题,错误401未经授权 . 我通过取消选中可用的本地包源找到了解决方案 . Debug> Options> NuGet Package Manager> Package Sources
只允许nuget.org包
我的Visual Studio 2015 Professional使用默认设置进行安装 . 默认情况下已经选中了“允许NuGet下载丢失的软件包”和“在Visual Studio中构建期间自动检查缺少的软件包”的选项,但我仍然无法下载软件包 . 我收到一个错误,无法找到包版本 .
我需要单击 Tools > Options > NuGet Package Manager > Package Sources 下的复选框以使NuGet Package Restore按预期工作 .
在管理员模式下启动Visual Studio 2015后,我在访问packages文件夹时遇到问题,因此我删除了它以执行还原 .
但是在重建解决方案时没有执行还原,并且在解决方案级别或Nuget窗口中找不到还原包 .
但是,如果右键单击解决方案中项目的 References 节点,则会有一个 Restore Packages 选项 . 在所有项目上运行此操作为我修复了它 .