目前我们使用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 回答
根据NuGet Repositories,我担心Artifactory没有这样的配置来使得包中的特定版本的包不可见 .
作为解决方法,您可以将Package versioning添加到
packages.config
或PackageReference
上的包中,例如,将allowedVersions="(9.0.1,11.0.1]"
添加到包Newtonsoft.Json
:使用此设置后,当您打开nuget包管理器UI时,无法选择9.0.1及更低版本:
希望这可以帮助 .