如果至少有一个Source不可用,则无法安装任何NuGet包

时间:2016-06-15 09:02:43

标签: visual-studio visual-studio-2015 nuget

VS2013(Premium)中不存在以下问题,我只能在VS2015(企业版)中重现

我添加了自定义NuGet包源。 如果该来源不可用,我无法安装任何包(例如EntityFramework)

我收到了一条消息

  

尝试收集包的依赖关系信息   ' EntityFramework.6.1.3'关于项目' ConsoleApplication9',   定位' .NETFramework,Version = v4.5.2'

     

异常' System.AggregateException'尝试添加源时抛出   ' http://XXX/FeedService.svc/'

     

请确认您的所有在线套餐资源均可用。

从消息的最后一行开始,我认为这不是一个bug,但我说它适用于VS2013

知道为什么会发生这种变化吗? 我可以对此做些什么吗?

2 个答案:

答案 0 :(得分:3)

这是设计的。由于我们支持跨多个源搜索您需要的软件包,因此我们需要能够在恢复这些软件包之前访问所有源并获取软件包结果,以确保我们恢复的方式具有确定性和一致性。

但是,我们了解一些用户进入离线/在线模式,我们正在投资构建一个功能集,使您能够在脱机工作时暂时禁用某些来源。在此期间,您可以考虑创建一个不包含违规来源的custom nuget.config,并在您处于离线模式时使用该来源进行恢复。

答案 1 :(得分:0)

这是一个老问题,因此令我感到惊讶的是the workaround并未在此处添加错误报告。要保存阅读器,请单击:

  1. 从Visual Studio中,打开“工具”->“选项”->“ NuGet程序包” 经理->包来源
  2. 取消选中所有不可用的软件包源,仅保留 公开的NuGet条目。 NuGetExample
  3. 正常安装软件包

一旦您回到办公室,请再次按照步骤1和2进行操作,但是这次请确保已检查所有内容。