nuget饲料是否遵循既定标准?

时间:2016-05-17 22:05:15

标签: nuget

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

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

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

我也对v2v3 nuget.org供稿之间的差异感到困惑。

更新

我现在明白官方nuget供稿有两个版本,v2是基于OData的,v3是一个rest api。我也明白nuget cli和visual studio能够与两者交流。

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

  

有几个第三方NuGet服务器可用于制作遥控器   私有源易于配置和设置,包括Visual Studio   团队服务,MyGet,Inedo的ProGet,JFrog的Artifactory,NuGet   服务器和Sonatype的Nexus。请参阅NuGet生态系统概述   了解有关这些选项的更多信息。

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

2 个答案:

答案 0 :(得分:5)

NuGet v2提供OData源。

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

Building NuGet 3.x帖子中有关于此的一些信息。

还有一些关于another StackOverflow post

中的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提要并使用一组不同的类连接到服务器。否则,它使用NuGet v2类连接到服务器。

答案 1 :(得分:0)

提要组织基于一组API,即操作提要的客户端(例如,  nuget.exe)使用这些API来管理供稿。

以下是NuGet v3 Feed的说明:https://docs.microsoft.com/en-us/nuget/api/overview