TFS 2017 - Nuget feed - 恢复前延迟采用最后一个包版本

问题描述 投票:1回答:1

我正在使用TFS 2017,带有nuget feed。

在我在feed中发布我的包的新(非预发布)版本之后,让我们说My.Package Version 1.0.1,我需要等待大约30分钟才能恢复引用已发布包的项目。

否则,即使我在TFS Nuget Feed UI中看到version 1.0.1,带有.net核心CLI的dotnet restore(甚至使用--force选项)也会忽略新版本并采用最后一个预发布版本,例如My.Package Version 1.0.1-2019041501

csproj软件包参考包含预发布版本的通配符。

<PackageReference Include="My.Package" Version="1.0.1-*" />

两个预发布版本之间也会发生同样的事情,但仅延迟5分钟。 E.g在我发布My.Package Version 1.0.1-2019041502后,我需要等待5分钟,否则恢复服用My.Package Version 1.0.1-2019041501

Nuget包项目使用.Net Standard 2.0.3并引用项目使用.Net Core 2.2。

造成这种延误的原因是什么?

谢谢。

tfs .net-core nuget tfs2017 nuget-package-restore
1个回答
2
投票

NuGet保留了一个HTTP缓存,用于加速对HTTP源的相同查询,缓存时间为30分钟。你可以使用nuget.exe locals http-cache -cleardotnet nuget locals http-cache --clear清除它。我无法解释预发行套餐的5分钟延迟。是否有可能TFS在推送后需要5分钟来摄取包,并在其搜索结果中使其可用?我不相信NuGet在您请求预发布包时会更快地使其http缓存过期,但这听起来是可行的。

© www.soinside.com 2019 - 2024. All rights reserved.