我有一个依赖于某些nuget包的项目。
这个nuget包存在于nuget1
和nuget2
服务器上。
问题是服务器位于不同的网络上。我只有一个可以同时使用。当恢复尝试连接到不可用的nuget1
服务器时,它会显示404并失败。它不会尝试从nuget2
恢复。我该如何解决这个问题?如果nuget2
不可用,我可以请求nuget使用nuget1
吗?
答案 0 :(得分: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
)配置为包源。