Ich verpacken derzeit einige Dateien und schieben sie auf eine NuGet-Feed auf einem unserer Server mithilfe der Befehlszeile-Tool. Anstatt das Befehlszeilentool zu verwenden, habe ich ein Projekt mit Nuget.Core eingerichtet und erfolgreich ein Paket erstellt. Ich versuche nun, das Paket von meinem Rechner über NuGet.Core auf den NuGet-Feed zu übertragen. Mit dem Kommandozeilen-Tool, das wie folgt aussieht (und ich habe diese Arbeit auch):Push NuGet-Paket programmgesteuert mit NuGet.Core
nuget.exe push package.nupkg -ApiKey MYAPIKEY -Source http://nugetpackagefeedaddress
Was ich will ist die Push-Funktion tun replizieren NuGet.Core verwenden. Der nächste, den ich bisher erreicht habe, ist, zwei Repositories von PackageRepositoryFactory
zu bekommen, einen für den lokalen Rechnerpfad und einen für den Paket-Feed und dann das Paket von dem lokalen zu holen und es so zum Feed hinzuzufügen:
var remoteRepo = PackageRepositoryFactory.Default.CreateRepository("myNugetPackagefeedUrl");
var localRepo = PackageRepositoryFactory.Default.CreateRepository(@"locationOfLocalPackage");
var package = localRepo.FindPackagesById("packageId").First();
remoteRepo.AddPackage(package);
Dieser Code führt zu einem NotSupportedException
die Angabe ‚angegebene Methode wird nicht unterstützt‘
ist es möglich, Pakete mit NuGet.Core zu schieben? Und bin ich mit dem obigen Code irgendwo in der Nähe?
Hinweis: Ich bin mir bewusst, dass ich den Aufruf von nuget.exe umbrechen und das von .NET aufrufen könnte, aber entweder von NuGet.Core verpacken und pushen möchte oder beides durch Einwickeln der Aufrufe von nuget.exe tun eher als halb und halb