AppVeyor NuGet Restore无法连接到私人帐户回购

AppVeyor NuGet Restore无法连接到私人帐户回购,nuget,nuget-package-restore,appveyor,Nuget,Nuget Package Restore,Appveyor,我正在尝试恢复已上载到AppVeyor帐户NuGet feed的包,但它在构建过程中无法连接到feed 在我的appveyor.yml文件中,我有:- nuget: account_feed: true 我已经确认日志中提到的帐户提要是我的帐户提要的正确URL。 我还通过使用VisualStudio连接到该提要并输入我的帐户凭据打开了该提要。在执行此操作时,我已确认我尝试恢复的包按预期存在 但是,生成失败,日志中出现以下情况:- https://ci.appveyor.com/nu

我正在尝试恢复已上载到AppVeyor帐户NuGet feed的包,但它在构建过程中无法连接到feed

在我的appveyor.yml文件中,我有:-

nuget:
  account_feed: true
我已经确认日志中提到的帐户提要是我的帐户提要的正确URL。 我还通过使用VisualStudio连接到该提要并输入我的帐户凭据打开了该提要。在执行此操作时,我已确认我尝试恢复的包按预期存在

但是,生成失败,日志中出现以下情况:-

    https://ci.appveyor.com/nuget/xxxxxxxxxx-yyyyyyyyyyyy: Unable to load the service index for source https://ci.appveyor.com/nuget/xxxxxxxxxx-yyyyyyyyyyyy.
      The HTTP request to 'GET https://ci.appveyor.com/nuget/xxxxxxxxxx-yyyyyyyyyyyy' has timed out after 100000ms.
NuGet Config files used:
    C:\projects\MyProjectName\Source\NuGet.Config
    C:\Users\appveyor\AppData\Roaming\NuGet\NuGet.Config
    C:\ProgramData\nuget\Config\Microsoft.VisualStudio.Offline.config
    C:\ProgramData\nuget\Config\ServiceFabricSDK.config
Feeds used:
    C:\Users\appveyor\.nuget\packages\
    https://www.nuget.org/api/v2
    https://A-CUSTOM-EXTERNAL-NUGET-FEED-I-ALSO-ACCESS/nuget
    https://ci.appveyor.com/nuget/xxxxxxxxxx-yyyyyyyyyyyy
    C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
    C:\Program Files\Microsoft SDKs\Service Fabric\packages\
注意:自定义外部NuGet提要应该是无关的。在我的构建因私人帐户回购尝试而中断之前,我还有其他成功从那里恢复的包

我是否缺少一些东西可以连接到我的AppVeyor帐户NuGet repo以恢复包?
它可能与软件包本身有关吗?

请查看讨论。

AppVeyor进行了一些更改,不允许您隐式地包含您的私人帐户NuGet repository以用于公共代码代理

正如@ilyaf的回答一样,讨论证实了这一点,并说原因如下

在以前的实现中,启用此功能并为公共服务 项目是一个漏洞,而不是一个功能,因为 帐户订阅源您可以从公共和私人帐户获得NuGet软件包 项目和任何向公共构建提交PR的人都可以 从您的帐户订阅源获取私人软件包。现在修好了

因此,如@Feodor Fitsner的评论中所述,要使其继续工作,您需要配置一个新的
nuget source
,提及您帐户的nuget回购

这是你需要做的

转到您尝试构建的AppVeyor中的项目,并选择该项目的设置。在“环境”设置选项卡上,添加两个新的环境变量:-

  • “nuget_用户”
  • “nuget_密码”
…将您的AppVeyor凭据放置在每个凭据的值中

在appveyor.yml中,在
install
节点下添加新的NuGet源代码

install:
  - nuget sources add -Name MyAccountFeed -Source <feed-url> -UserName %nuget_user% -Password %nuget_password%
或者确保你有

nuget:
  account_feed: false
  project_feed: false
您的项目现在应该正确构建,从您的NuGet帐户检索您的NuGet包。
然而,这可能是AppVeyor最初试图阻止其变更的一个解决办法。

这是公共回购/项目吗?是的。我刚刚读了下面关于答案的讨论。这与您询问的原因相同吗?因此,现在,公共项目存储库不能使用私有NuGet提要,在我的情况下,包括我的AppVeyor帐户NuGet提要?默认情况下,是的,除非您使用
NuGet sources
命令和凭据显式配置它。
nuget:
  account_feed: false
  project_feed: false