2016-06-01 2 views
0

Ich fand Beispielcode mit Nuget API zu arbeiten. Meine Aufgabe ist zeigen vollständigen Namen und Download-Link. Hier ist Code:Get Download-Link in IPackage von Nuget Core

 static void Main(string[] args) 
     { 
      //ID of the package to be looked up 
      string packageID = "EntityFramework"; 

      //Connect to the official package repository 
      IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository("https://packages.nuget.org/api/v2"); 

      //Get the list of all NuGet packages with ID 'EntityFramework'  
      List<IPackage> packages = repo.FindPackagesById(packageID).ToList(); 

      //Filter the list of packages that are not Release (Stable) versions 
      packages = packages.Where(item => (item.IsReleaseVersion() == false)).ToList(); 

      //Iterate through the list and print the full name of the pre-release packages to console 
      foreach (IPackage p in packages) 
      { 
       Console.WriteLine($"{p.GetFullName()};"); 
      } 
     } 

Wenn ich debuggen, ich-Link zum Download, aber wie kann ich diesen Wert zu erhalten? Ich habe Bildschirme für Debug-Informationen angeschlossen. Debug info

Missing param

Antwort

0

Sie dies tun können, um den Link zu erhalten herunterladen:

foreach (var p in packages.ConvertAll(o => (DataServicePackage)o)) 
       { 
    Console.WriteLine($"{p.GetFullName()};"); 
    Console.WriteLine(p.DownloadUrl.ToString()) 
} 
+0

'IPackage' enthält keine Definition für 'downloadURL' und keine Erweiterungsmethode 'downloadURL' Annahme einer ersten Argument des Typs 'IPackage' könnte gefunden werden (fehlt eine using-Direktive oder eine Assemblyreferenz?) \t GetNuget \t c: \ ... \ GetNuget \ Programm.cs Aktiv. Bitte schauen Sie auf den zweiten Bildschirm. Es gibt keine DownloadUrl-Methode. – user3201751

+0

Sie können Ihre Pakete als DataServicePackage darstellen, das eine Implementierung der IPackage-Schnittstelle ist. Ich habe die obige Antwort bearbeitet. Lassen Sie mich wissen, wenn das funktioniert –

+0

Ja. Das ist funktioniert. Vielen Dank. – user3201751

Verwandte Themen