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

eno*_*l76 16 c# 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(_=>_)));
Run Code Online (Sandbox Code Playgroud)

Dam*_*ith 9

使用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);
Run Code Online (Sandbox Code Playgroud)

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