【发布时间】:2019-03-05 22:08:03
【问题描述】:
我正在尝试使用 FindPackagesById() Web 方法查询 nuget 服务器。但它不会返回软件包的预发布版本。我确信有办法做到这一点。任何帮助,将不胜感激。 ;0)
下面的示例是我运行搜索的方式
http://localhost/nuget/FindPackagesById()?id='NugetTestApp1'
【问题讨论】:
标签: nuget nuget-server
我正在尝试使用 FindPackagesById() Web 方法查询 nuget 服务器。但它不会返回软件包的预发布版本。我确信有办法做到这一点。任何帮助,将不胜感激。 ;0)
下面的示例是我运行搜索的方式
http://localhost/nuget/FindPackagesById()?id='NugetTestApp1'
【问题讨论】:
标签: nuget nuget-server
问题在于,为了让 FindPackagesById() 返回预发布包,我们必须将 semVerLevel 设置为 2.0.0。
http://localhost/nuget/FindPackagesById()?id='NugetTestApp1'&semVerLevel=2.0.0
【讨论】:
V2 协议没有很好的文档记录(V3 协议适用于example),而这正是 NuGet.Server 所支持的。
但是,有一个非官方的docs 努力为 V2。
现在对 FindPackagesById 的支持可能因实现而异(例如,NuGet.org 不支持过滤器)。 我建议使用包端点,因为它是标准的 OData 集合,因此更容易针对它编写查询。
例子
http://localhost/nuget/Packages()?$filter=Id%20eq%20%27nuget.protocol%27%20and%20IsPrerelease%20eq%20true&$select=Id,Version
【讨论】: