私有nuget提要-包路径文件夹和索引问题



我们使用nuget.server 2.8创建了一个私有提要,用于在我们的组织中托管nuget包(主要是巧克力包)。我想改进/扩展索引功能,但我不知道如何做到这一点。

我知道在一个典型的nuget服务器提要中,所有的.NUPKG文件都在配置中指定的包路径的根目录中。长话短说,我们需要在包提要中使用文件夹结构,因为组织中的不同组将使用SVN提交数据,这些数据最终会出现在这里。为了便于管理,我们需要一个更复杂的文件夹结构。

然而,我发现,包路径根目录或一个文件夹深度中的.NUPGs是索引的,可以通过提要获得。一旦深入两个文件夹,NUPKG文件就不会被索引,也无法通过nuget提要获得。有没有一种相对简单的方法可以改变这一点?这是某个地方指定的设置吗?我似乎找不到这种限制是从哪里来的。任何方向都是悬而未决的。

我们已经有一些用户为ProGet请求了这样的功能,但最终决定不实现该功能,因为不仅要处理重复的包,还要将该问题传达给用户。

请记住,一个有效的NuGet包必须具有与其版本+id匹配的文件名(例如,MyPackage.1.2.nupkg只能是MyPackagev1.2)。因此,如果您有folderA\MyPackage.1.2.nupkg和folderB\MyPackage.1.2.nuPK,哪个是有效的?你会使两者无效吗?等等

也就是说,实现起来很简单,所以您可以简单地使用ProGet SDK来构建自己的包存储,该存储继承自默认存储,但也迭代子目录。

顺便说一句,如果你真的想维护一个私人存储库,你真的应该得到NuGet.Server以外的东西。有几种可用的软件包可以管理巧克力包。

Symlinks是您的最佳选择。您只需要通过计划任务定期对这些文件进行符号链接。

我不得不支持Karl关于使用比NuGet.Server更好的软件的回答。根据你的增长潜力,在你的存储库中有100多个软件包后,它可能会很快变得不可用注意:自2012年以来,我自己就没有检查过这个,现在它可能对多个包有更好的支持。

最新更新