如何从nuget feed以编程方式获取nuget包版本?

首先,在所有Nuget代码中,我试图弄清楚要引用哪一个。

主要问题是,给定一个Nuget包名称,是否有一种编程方式从nuget feed中检索版本以及一般消费的最新版本?

例如,给定ILMerge的包名称,获得2.13.307的最新包版本会很不错。

//pseudo code, makes a lot of assumptions about nuget programmatic interfaces PackageRef currentVersion = nugetlib.getpackageinfo(args[0]); Console.WriteLine("Package Id: '{0}':", pkg.Id); Console.WriteLine(" Current version: {0}", pkg.Version); Console.WriteLine(" Available versions: {0}", String.Join(",",pkg.Versions.Select(_=>_))); 

使用nuget核心包

 string packageID = "ILMerge"; //Connect to the official package repository IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository("https://packages.nuget.org/api/v2"); var version =repo.FindPackagesById(packageID).Max(p=>p.Version); 

参考: http : //blog.nuget.org/20130520/Play-with-packages.html

如https://github.com/NuGet/NuGet2所述 Nuget.Core适用于NuGet的第2版。

Nuget客户端库的第3版已移至Nuget.Client。 有关更多信息,请参阅NuGet API v3文档。 https://docs.microsoft.com/pl-pl/nuget/reference/nuget-client-sdk