【问题标题】:NuGet servers on different networks不同网络上的 NuGet 服务器
【发布时间】:2018-05-30 11:04:51
【问题描述】:

我有一个项目依赖于一些 nuget 包。 这个 nuget 包存在于 nuget1nuget2 服务器上。 问题是服务器位于不同的网络上。我同时只有一个可用。当恢复尝试连接到不可用的nuget1 服务器时,它显示 404 并失败。它不会尝试从nuget2 恢复。我该如何解决这个问题?如果nuget1不可用,我可以要求nuget使用nuget2吗?

【问题讨论】:

  • 机器会在两个网络之间切换吗?
  • 不,该项目应该可以从不同的机器上构建。这就是为什么我无法在 nuget.config 中设置正确的服务器顺序的原因。有些机器可以访问nuget1,但有些机器可以访问nuget2
  • 然后您可以为每个指向正确 Nuget 服务器的网络进行 DNS 设置
  • 是的,但如果可能的话,我想使用一些特定于项目的设置而不是特定于操作系统的设置

标签: c# .net nuget nuget-package-restore nuget-server


【解决方案1】:

所有配置的 NuGet 包源都必须可用于包安装和恢复工作。

来自GitHub: package resolution fails if unreachable source exists

例如,假设服务器间歇性关闭,并且它有一个新版本的 xunit。作为用户,您将在多次安装之间悄悄地获得不一致的体验。

当您安装一个没有依赖关系的单个包时,这似乎很简单,但当您有一个相当大的包图时很快就会失控,这会导致您浪费时间。

因此,一种选择是为两台服务器使用相同的 DNS 名称,并让网络管理员在每个指向相应服务器的网络上注册该名称。

因此,在网络 1 上,存在一个 DNS 别名 nugetserver 并指向 10.0.0.1,而在网络 2 上,一个 DNS 别名 nugetserver 指向 192.168.1.1

然后在 Visual Studio 中,配置一台服务器,即nugetserver,作为包源。

【讨论】:

    猜你喜欢
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2011-08-03
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多