Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Entwickler lassen in der Regel NuGet-Pakete aus ihren Quellcodeverwaltungsrepositorys aus und verlassen sich stattdessen auf die Paketwiederherstellung , um die Abhängigkeiten eines Projekts vor einem Build neu zu installieren.
Die Gründe für die Verwendung der Paketwiederherstellung umfassen Folgendes:
- Verteilte Versionssteuerungssysteme, z. B. Git, enthalten vollständige Kopien jeder Version jeder Datei innerhalb des Repositorys. Binärdateien, die häufig aktualisiert werden, führen zu erheblichen Aufblähungen und verlängert die Zeit, die zum Klonen des Repositorys benötigt wird.
- Wenn Pakete im Repository enthalten sind, können Entwickler Verweise direkt auf den Paketinhalt auf dem Datenträger hinzufügen, anstatt auf Pakete über NuGet zu verweisen, was zu hartcodierten Pfadnamen im Projekt führen kann.
- Es wird schwieriger, Ihre Lösung von nicht verwendeten Paketordnern zu bereinigen, da Sie sicherstellen müssen, dass Sie keine Paketordner löschen, die noch verwendet werden.
- Indem Sie Pakete weglassen, behalten Sie klare Eigentumsgrenzen zwischen Ihrem Code und den Paketen anderer, von denen Sie abhängig sind. Viele NuGet-Pakete werden bereits in ihren eigenen Quellcodeverwaltungsrepositorys verwaltet.
Obwohl die Paketwiederherstellung das Standardverhalten bei NuGet ist, ist einige manuelle Arbeit erforderlich, um Pakete – nämlich den Ordner in Ihrem Projekt – aus der packages Quellcodeverwaltung auszulassen, wie in diesem Artikel beschrieben.
Auslassen von Paketen mit Git
Verwenden Sie die GITIGnore-Datei , um NuGet-Pakete (.nupkg) des packages Ordners und project.assets.jsonunter anderem zu ignorieren. Referenz finden Sie im Beispiel .gitignore für Visual Studio-Projekte:
Die wichtigen Teile der .gitignore Datei sind:
# Ignore NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Ignore other intermediate files that NuGet might create. project.lock.json is used in conjunction
# with project.json (NuGet v3); project.assets.json is used in conjunction with the PackageReference
# format (NuGet v4 and .NET Core).
project.lock.json
project.assets.json
Auslassen von Paketen mit Team Foundation Version Control
Hinweis
Befolgen Sie diese Anweisungen, wenn möglich , bevor Sie Ihr Projekt zur Quellcodeverwaltung hinzufügen. Löschen Sie andernfalls den packages Ordner manuell aus Ihrem Repository, und überprüfen Sie diese Änderung, bevor Sie fortfahren.
So deaktivieren Sie die Integration der Quellcodeverwaltung in TFVC für ausgewählte Dateien:
Erstellen Sie einen Ordner mit dem Namen
.nugetin Ihrem Lösungsordner (wo die.slnDatei gespeichert ist).- Tipp: Verwenden Sie unter Windows den Namen
.nuget.mit einem nachfolgenden Punkt, um diesen Ordner in Windows Explorer zu erstellen.
- Tipp: Verwenden Sie unter Windows den Namen
Erstellen Sie in diesem Ordner eine Datei mit dem Namen
NuGet.Config, und öffnen Sie sie zur Bearbeitung.Fügen Sie mindestens den folgenden Text hinzu, in dem die Einstellung "disableSourceControlIntegration " Visual Studio anweist, alles im
packagesOrdner zu überspringen:<?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>Wenn Sie TFS 2010 oder früher verwenden, verschließen Sie den
packagesOrdner in Ihren Arbeitsbereichszuordnungen.Erstellen Sie auf TFS 2012 oder höher oder mit Visual Studio Team Services eine
.tfignoreDatei, wie unter "Dateien zum Server hinzufügen" beschrieben. Fügen Sie in dieser Datei den inhalt unten ein, um Änderungen an dem\packagesOrdner auf Repositoryebene und einige andere Zwischendateien explizit zu ignorieren. (Sie können die Datei im Windows-Explorer mit dem Namen a.tfignore.mit dem nachgestellten Punkt erstellen, aber Möglicherweise müssen Sie zuerst die Option "Bekannte Dateierweiterungen ausblenden" deaktivieren.):# Ignore NuGet Packages *.nupkg # Ignore the NuGet packages folder in the root of the repository. If needed, prefix 'packages' # with additional folder names if it's not in the same folder as .tfignore. packages # Omit temporary files project.lock.json project.assets.json *.nuget.propsFügen Sie
NuGet.Configder Versionsverwaltung hinzu und checken Sie Ihre Änderungen ein..tfignore