首页 文章

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

提问于
浏览
0

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

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

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

谢谢 .

1 回答

  • 1

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

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

    作为解决方法,您可以将Package versioning添加到 packages.configPackageReference 上的包中,例如,将 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

    希望这可以帮助 .

相关问题