Für einen Windows Anwendung die ich zurzeit auf Basis C# mit .net 5 (inzwischen .net 6) mit VisualStudio Code erstelle, benötigte ich htmlagilitpack. Eigentlich sollte die Installation von Nuget Packages mit dotnet recht einfach sein. Es ist im dotnet cli integriert. Auf der Website wird die Installation der Anwendung dem folgenden Befehl installiert.
dotnet add package HtmlAgilityPack
Die Fehlermeldung lässt nicht lange auf sich warten.
PS> dotnet add package HtmlAgilityPack
Wiederherzustellende Projekte werden ermittelt...
info : Die PackageReference für das Paket "HtmlAgilityPack" wird dem Projekt "E:\Path\Repository\Projektname\Projektname.csproj" hinzugefügt.
error: Für das Paket "HtmlAgilityPack" sind keine Versionen verfügbar.
Was ist passiert? Es kann nicht gefunden werden. Warum? Das gleiche hatte ich dann auch mit Newtonsoft.Json. Beides recht populäre Frameworks im C# Umfeld.
Weil im .net 5 (betrifft auch .net 6) keine Paketquellen im Nuget eingetragen werden. Gefunden habe ich das nach langer Recherche im Github Projekt zu .net. Warum wird Nuget in der dotnet cli eingebaut und keine Paketquellen eingetragen?
Zum Glück ließ es sich dann schnell beheben, nachdem ich wusste was los ist. Der folgende Befehl fügt eine Paketquelle von Nuget hinzu.
dotnet nuget add source --name nuget.org https://api.nuget.org/v3/index.json
Anschließend klappt die Installation von nuget Packages wieder und werden dem Projekt hinzugefügt. Sollte doch eigentlich unnötig sein oder?