nuget饲料是否符合规定的标准?

kim*_*gro 10 nuget

我的理解是,nuget CLI和visual studio本身不仅可以使用官方nuget.org提要,还可以使用来自第三方网站(如myget)的其他提要.

这是否意味着Feed本身遵循定义的标准,因此这些工具可以与任何Feed一起使用?

如果是这样我在哪里可以找到这个标准?

我也困惑的之间的区别v2v3nuget.org饲料.

更新

我现在明白官方nuget feed有两个版本,v2它们是基于OData的,v3它是一个rest api.我也明白nuget cli和visual studio能够与两者交谈.

我仍然不明白的是,如果你看看这篇文章https://docs.nuget.org/create/hosting-your-own-nuget-feeds,它说明

有几个第三方NuGet服务器可以使远程私有源易于配置和设置,包括Visual Studio Team Services,MyGet,Inedo的ProGet,JFrog的Artifactory,NuGet Server和Sonatype的Nexus.请参阅NuGet生态系统概述以了解有关这些选项的更多信息.

对于nuget cli和visual studio都能够使用所有这些不同的第三方提要,肯定必须有一些潜在的通用标准提要格式.它们是否都使用相同的OData格式v2?这是我的问题的关键.

Mat*_*ard 5

NuGet v2提供OData源.

NuGet v3提供了一个使用一些不同协议的RESTful API,其中一个我相信它基于JSON-LD.

关于这一点,在Building NuGet 3.x帖子中有一些信息.

另一个StackOverflow帖子中还有一些关于NuGet v3 API的更多信息

NuGet API第三方服务器支持的是第三方服务器.例如,VSTS支持NuGet v2和NuGet v3 API,每个API都有不同的URL.例如,Team City实现了NuGet v1 API.在撰写本文时,ProGet支持NuGet v2.

除非您使用某些较低级别的类,否则NuGet客户端本身会隐藏这些差异.NuGet客户端本身有一个简单的检查,如果url结束,index.json那么它是一个NuGet v3 feed并使用一组不同的类连接到服务器.否则,它使用NuGet v2类连接到服务器.