Artifactory - 从Visual Studio Feed隐藏NuGet包版本

时间:2018-02-22 13:38:15

标签: visual-studio nuget nuget-package artifactory

目前我们使用Artifactory Professional版本4.16.0来托管我们所有的Nu​​Get包。最近,我们需要从我们的Feed中“隐藏”某个软件包的旧版本,以防止用户安装它。我们仍然需要程序包可用,因为我们的一些遗留应用程序引用了较旧的程序包(并且由于各种原因无法更新)因此我们的CI要求程序包在进行NuGet还原时可用。

是否有设置或配置使Feed中的特定版本的软件包不可见?如果是这样我怎么能这样做呢?

例如,在Visual Studio中,用户无法在Feed中看到 MyPackage.1.0.0.nupkg ,但CI仍然可以请求它并对其执行NuGet还原。可以在Feed上看到 MyPackage.2.0.0.nupkg

谢谢。

1 个答案:

答案 0 :(得分:1)

  

是否有设置或配置使Feed中的特定版本的软件包不可见?如果是这样我怎么能这样做呢?

根据NuGet Repositories,我担心Artifactory没有这样的配置来使包中的特定版本的包不可见。

作为一种变通方法,您可以在packages.configPackageReference上将Package versioning添加到包中,例如,将allowedVersions="(9.0.1,11.0.1]"添加到包Newtonsoft.Json

<packages>
  <package id="Newtonsoft.Json" version="11.0.1" allowedVersions="(9.0.1,11.0.1]" targetFramework="net462" />
</packages>

使用此设置后,当您打开nuget包管理器UI时,无法选择9.0.1及更低版本:

enter image description here

希望这有帮助。