ich würde gerne wissen
In C # - oder VB.NET-Projekten sollten wir den PACKAGE-Ordner (Nugget-Paketordner, der im Stammverzeichnis meines Projekts erstellt wird und die nupkg-Dateien und andere Inhalte enthält) in unser Quellcodeverwaltungs-Repository (z. B. Git) aufnehmen.
c#
version-control
git
vb.net
Bastien Vandamme
quelle
quelle
Antworten:
Es ist viel Zeit vergangen und NuGet hat sich geändert. Hier ist eine neue Antwort.
NuGet erstellt keinen Paketordner mehr in Ihrer Quellstruktur. Stattdessen befindet sich in Ihrem Benutzerverzeichnis (
%HOME%\.nuget\packages
um genau zu sein) eines, in dem alle heruntergeladenen Pakete abgelegt werden. Projekte verweisen lediglich auf diese Pakete.Die einfache Antwort lautet heutzutage: Nein, das sollten Sie nicht. Wenn Sie befürchten, dass Pakete verschwinden, sollten Sie einen lokalen NuGet-Spiegel erstellen, den Sie separat sichern.
quelle
Es hängt davon ab, ob.
Überprüfen Sie die Antwort von Bart van Ingen Schenau, um festzustellen, ob der
packages
Ordner überhaupt ignoriert werden kann .Grundsätzlich gilt: Ja, NuGet ist so konzipiert, dass Sie den
packages
Ordner ignorieren können, und NuGet holt alles aus dem Internet, wenn es fehlt.Aber solltest du es ignorieren? Ich sage: es kommt darauf an.
IMO ist es eine Frage von "können wir weiterarbeiten, falls das Paket-Repository nicht verfügbar ist" (sei es vorübergehend oder dauerhaft)
Bei meinen persönlichen OSS-Projekten wird der
packages
Ordner in allen ignoriert.Wenn nuget.org offline ist, warte ich einfach und fahre an einem anderen Tag fort.
Aber bei der Arbeit ist es etwas anderes.
Sicher, Sie haben die Pakete wahrscheinlich immer noch lokal auf einem Computer, sparen aber Speicherplatz, der sich lohnt, wenn Ihre Builds nicht mehr funktionieren, weil Ihr Build-Server nicht auf nuget.org zugreifen kann.
Wir haben entschieden, dass der Speicherplatz billig ist und wir nicht den Ärger wollen, deshalb übergeben wir den
packages
Ordner an die Quellcodeverwaltung.quelle
Die Grundregel für ein Quellcodeverwaltungs-Repository lautet, dass Sie dort alles speichern, was mit einem Projekt zusammenhängt, das Sie zum Erstellen, Testen, Bereitstellen und Ausführen des Projekts benötigen und das nicht aus Elementen generiert werden kann, die bereits im Repository vorhanden sind .
Mit anderen Worten, wenn Sie den PACKAGE-Ordner und seinen Inhalt wegwerfen können, ohne Ihre Fähigkeit zu beeinträchtigen, arbeiten Sie weiter am Projekt (der Build kann länger dauern, aber Sie müssen nichts selbst suchen und installieren), dann kann der Ordner sicher aus dem Repository ausgelassen werden.
Wenn der Ordner Pakete von Drittanbietern enthält, deren Download möglicherweise lange dauert oder die möglicherweise nicht mehr verfügbar sind, ist dies möglicherweise ein Grund, sie trotzdem zu Ihrem Repository hinzuzufügen.
quelle