我有一个 NuGet 库有新的版本,但是我的服务器速度不够快,此时我第一次使用 NuGet 还原找不到库。在我服务器索引完成之后,再次使用 NuGet 会依然找不到这个库,而此时服务器准备完成。这是 NuGet 的缓存的坑
我使用了 BaGet 搭建我私有的 NuGet 服务器,他的速度很快,但是索引一个上传的 NuGet 库依然需要一定的时间。如果在 NuGet 服务器还没准备完成之前调用了 NuGet 的 restore 命令,此时预期是找不到 NuGet 的这个新版本的库
但是在 NuGet 服务器准备完成之后,再次调用 NuGet 的还原命令,包括 dotnet restore 都会提示找不到这个版本的库,需要等待超长的时间才能拉
一开始我以为是自己的 NuGet 服务器性能太差,后续在 WPF 官方开源仓库里面学到了这是 NuGet 的坑,在 WPF 的 Merge WPF 5.0 GA (release/5.0) into WPF master by ryalanms · Pull Request #3605 · dotnet/wpf 可以看到如下代码
Avoid using the http cache as workaround for https://github.com/NuGet/Home/issues/3116
在 NuGet 的官方开源仓库有小伙伴提出 NuGet should refresh its HTTP cache if it can't find the