TFS 2017-Nuget提要-还原之前延迟使用最新的软件包版本

时间:2019-04-15 09:35:40

标签: tfs .net-core nuget tfs2017 nuget-package-restore

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

我在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分钟。例如,在发布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。

此延迟的原因是什么?

谢谢。

1 个答案:

答案 0 :(得分:2)

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