首页 > 解决方案 > 不同网络上的 NuGet 服务器

问题描述

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

标签: c#.netnugetnuget-package-restorenuget-server

解决方案


所有配置的 NuGet 包源都必须可用于包安装和还原才能正常工作。

来自GitHub:如果存在无法访问的源,则包解析失败

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

当您安装一个没有依赖关系的单个包时,这似乎很简单,但是当您有一个相当大的包图时很快就会失控,这会让您失去很多天。

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

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

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


推荐阅读