Zum Fußzeileninhalt springen
.NET HILFE
Was ist NuGet (Wie es für Entwickler funktioniert Tutorial)

Was ist NuGet?

Ein System, das es Entwicklern ermöglicht, funktionalen Code zu schreiben, auszutauschen und zu verwenden, ist ein entscheidender Bestandteil jeder modernen Entwicklungsplattform. Dieser funktionale Code wird in "Paketen" gebündelt, die auch andere Materialien enthalten, die von den Projekten benötigt werden, die sie verwenden, wie z.B. kompilierten Code (in Form von DLLs).

Die von Microsoft unterstützte Methode für das Teilen von Code für .NET (einschließlich .NET Core) ist NuGet. NuGet ermöglicht die Produktion, das Hosting und das Abrufen von Paketen für .NET Frameworks. Die von NuGet verwalteten Softwarepakete werden NuGet-Pakete genannt.

Was ist NuGet? Ein NuGet-Paket ist nur eine Zip-Datei mit der Erweiterung .nupkg. Es enthält alle DLLs, die erforderlich sind, damit die Software funktioniert. Es enthält auch ein beschreibendes Manifest, das z.B. die Versionsnummer des Pakets auflistet. Entwickler müssen nur das NuGet-Paket installieren, und sie können die von diesem Paket bereitgestellten Methoden verwenden.

NuGet-Funktionen

  • NuGet adds private hosting support to the central nuget.org repository.
  • NuGet bietet Entwicklern Werkzeuge zum Erstellen, Veröffentlichen und Installieren von Paketen.
  • NuGet verfolgt die in einem Projekt verwendeten Pakete und ermöglicht es Ihnen, diese Pakete aus dieser Liste wiederherzustellen und zu aktualisieren.
  • NuGet verfolgt alle Spezifikationen in Bezug darauf, wie Pakete strukturiert sind, wie z.B. Lokalisierung und wie sie referenziert werden.
  • NuGet stellt zahlreiche APIs zur Verfügung, um programmgesteuert mit all seinen Diensten zu interagieren, sowie Unterstützung für Entwickler, die Visual Studio-Erweiterungen veröffentlichen.
  • NuGet enthält einen Paketcache und einen globalen Ordner für Pakete, um die Installation und Neuinstallation zu erleichtern. Wenn ein Paket bereits auf dem lokalen Rechner vorhanden ist, lädt der Cache es nicht aus dem zentralen Repository herunter, sondern liefert es stattdessen aus dem Cache.

Wie NuGet-Pakete funktionieren

NuGet, as a public host, maintains a central repository of over 100,000 unique packages. Jeden Tag verwenden Millionen von .NET/.NET Core Entwicklern diese Pakete. NuGet erlaubt es Ihnen auch, Pakete privat in der Cloud (zum Beispiel auf Azure DevOps), in einem privaten Netzwerk oder sogar auf Ihrem lokalen Dateisystem zu hosten. Infolgedessen sind diese Pakete nur für Entwickler verfügbar, die Zugang zum Host haben, sodass Sie Pakete einer bestimmten Gruppe von Verbrauchern zur Verfügung stellen können.

Ein Host, gleich welcher Art, dient als Verbindung zwischen Paketautoren und Paketverbrauchern. Autoren entwickeln nützliche NuGet-Pakete und verteilen sie an einen Host. Verbraucher suchen dann nach nützlichen und kompatiblen Paketen auf zugänglichen Hosts, um diese herunterzuladen und in ihren Projekten zu integrieren. Nach der Installation in einem Projekt sind die APIs der Pakete für den Rest des Projektcodes zugänglich.

What is NuGet, Figure 1

NuGet-Tools

Es gibt sechs Werkzeuge, die zur Verwaltung von NuGet-Paketen verwendet werden.

.NET CLI

Es ist eine Befehlszeilenschnittstelle (CLI) für .NET Core und .NET Standard-Bibliotheken sowie für SDK-Style-Projekte, die auf das .NET Framework abzielen (siehe SDK-Attribut). Bestimmte NuGet CLI-Fähigkeiten sind direkt innerhalb der .NET Core-Toolchain verfügbar. Die .NET CLI interagiert, wie die nuget.exe CLI, nicht mit Visual Studio-Projekten.

NuGet.exe CLI

Es ist eine CLI für .NET Framework-Bibliotheken und nicht-SDK-Style-Projekte, die auf .NET Standard-Bibliotheken abzielen. Es bietet alle Fähigkeiten der .NET CLI, wobei einige Befehle nur für Paketautoren und andere Befehle nur für Verbraucher anwendbar sind. Paketautoren verwenden beispielsweise den NuGet pack-Befehl, um ein Paket aus verschiedenen Baugruppen und zugehörigen Dateien zu erstellen. Paketbenutzer verwenden NuGet install, um Pakete in einen Projektordner einzubinden. Sowohl Paketentwickler als auch Paketbenutzer verwenden NuGet config, um NuGet-Konfigurationsvariablen festzulegen.

Die NuGet CLI interagiert nicht mit Visual Studio-Projekten, da sie ein plattformunabhängiges Werkzeug ist.

Package Manager-Konsole

Die Paket-Manager-Konsole bietet PowerShell-Befehle für das Installieren und Verwalten von Paketen innerhalb von Visual Studio-Projekten.

Benutzeroberfläche des Paketmanagers

Die Paket-Manager-Benutzeroberfläche bietet eine benutzerfreundliche Oberfläche zum Installieren und Verwalten von Paketen für Projekte innerhalb von Visual Studio.

NuGet Package Manager UI verwalten

Dieses Werkzeug bietet ebenfalls eine benutzerfreundliche Oberfläche zum Installieren und Verwalten von Paketen in Projekten in Visual Studio. Dieses Werkzeug ist nur für Mac-Benutzer verfügbar.

MSBuild

MSBuild ermöglicht es Benutzern, Pakete direkt aus der MSBuild-Toolchain zu erstellen und wiederherzustellen, die in einem Projekt verwendet werden.

Paket-Manager-UI und Paket-Manager-Konsole sind die am weitesten verbreiteten Werkzeuge zur Verwaltung von NuGet-Paketen. Wir werden nun untersuchen, wie sie verwendet werden.

Verwendung der NuGet Package Manager UI

Klicken Sie in Visual Studio auf 'Tools' in der oberen Menüleiste und wählen Sie NuGet-Paketverwaltung > NuGet-Paket für Lösungen verwalten.

Ein neues Fenster wird wie unten dargestellt erscheinen.

What is NuGet, Figure 2

Im Tab "Installiert" werden alle bereits installierten NuGet-Pakete hier angezeigt.

Klicken Sie auf die Browsen-Schaltfläche und geben Sie den Namen eines Pakets in das Suchfeld ein. Wir werden IronBarcode als Beispiel suchen.

What is NuGet, Figure 3

Klicken Sie auf die Installieren-Schaltfläche, die Bibliothek wird installiert und für die Verwendung bereitgestellt.

IronBarcode NuGet-Paketdetails ist eine Bibliothek, die von Iron Software entwickelt und gewartet wird und C# Software-Ingenieuren hilft, Strichcodes und QR-Codes in .NET-Anwendungen zu lesen und zu schreiben.

Zentrale Funktionen umfassen:

  • Lesen Sie einzelne oder mehrere Strichcodes und QR-Codes aus Bildern oder PDFs.
  • Bildkorrektur für Neigung, Ausrichtung, Rauschen, niedrige Auflösung, Kontrast usw.
  • Erstellen Sie Strichcodes und fügen Sie sie in Bilder oder PDF-Dokumente ein.
  • Betten Sie Strichcodes in HTML-Dokumente ein.
  • Stylen Sie Strichcodes und fügen Sie Anmerkungstexte hinzu.
  • QR-Code-Erstellung erlaubt das Hinzufügen von Logos, Farben und fortschrittlicher QR-Ausrichtung.

Erfahren Sie mehr über IronBarcode von der Produkt-Dokumentationsseite.

Verwendung der Paketmanager-Konsole

Klicken Sie in Visual Studio auf 'Tools' in der oberen Menüleiste und wählen Sie NuGet-Paketverwaltung => Paket Manager-Konsole.

Das Fenster der Paket-Manager-Konsole wird wie unten gezeigt erscheinen.

What is NuGet, Figure 4

Lassen Sie uns ein Paket mit der Paket-Manager-Konsole installieren.

Der Befehl Install-Package 'package-Name' wird verwendet, um das Paket zu installieren. Zum Beispiel, um das IronOCR-Paket zu installieren:

Install-Package IronPdf

Erkunden Sie das IronOCR NuGet-Paket ist eine C#-Softwarebibliothek, die .NET-Softwareentwicklern ermöglicht, Text von Bildern und PDF-Dokumenten zu erkennen und zu lesen. Es verwendet die fortschrittlichste Tesseract-Engine, die irgendwo bekannt ist. IronOCR übertrifft alle anderen OCR-Bibliotheken, wenn es darum geht, mit realen Bildern voller Unvollkommenheiten umzugehen (d.h. digitales Rauschen, niedrige Auflösungen usw.). Es unterstützt mehrere Programmiersprachen.

Lesen Sie mehr über technische Dokumentation zu IronOCR von der Produktwebsite.

Einige nützliche NuGet-Pakete

Dieser Abschnitt wird einige nützliche NuGet-Pakete beschreiben, die für die Arbeit mit Datenbanken und Dateien verfügbar sind.

Entity Framework

Entdecken Sie das Entity Framework NuGet-Paket ist das häufigste und leistungsfähigste NuGet-Paket, das in .NET-Anwendungen für die Arbeit mit Datenbanken verfügbar ist.

Es ist ein von Microsoft unterstütztes Open-Source ORM-Framework, das es Entwicklern ermöglicht, mit Daten unter Verwendung von domänenspezifischen Objekten zu arbeiten, anstatt die zugrunde liegenden Datenbanktabellen und -spalten zu verwenden, in denen die Daten gespeichert sind. Bei der Arbeit mit Daten können Entwickler auf einer höheren Abstraktionsebene arbeiten. Dies ermöglicht es ihnen, datenorientierte Anwendungen mit weniger Code zu erstellen und zu pflegen als herkömmliche Anwendungen.

Es gibt separate NuGet-Pakete für die Verwaltung von SQL Server, Oracle, MySQL und PostgreSQL Datenbankservern.

Der Schnellstart-Leitfaden für Entity Framework bietet weitere Informationen über die Fähigkeiten von Entity Framework.

IronPDF

IronPDF NuGet-Paket löst das schwierige Problem, PDF-Verarbeitungsfunktionen zu Anwendungen hinzuzufügen. IronPDF automatisiert die Umwandlung von formatierten Dokumenten in PDF und erlaubt es Entwicklern auch, PDF-Dokumente zu erstellen, zu bearbeiten und zu exportieren.

Die Hauptfunktionen von IronPDF umfassen:

  • Konvertieren Sie Webformulare, lokale HTML-Seiten und andere Webseiten mit .NET in PDFs.
  • Erlauben Sie Benutzern, Dokumente herunterzuladen, per E-Mail zu versenden oder in der Cloud zu speichern.
  • Erstellen Sie Rechnungen, Angebote, Berichte, Verträge und andere Dokumente.
  • Arbeiten Sie mit ASP .NET, ASP .NET Core, Web forms, MVC, Web APIs auf .NET Framework und .NET Core.

Lesen Sie mehr über IronPDF auf seiner Produktdokumentationsseite.

IronXL

IronXL NuGet-Paket hilft C#-Softwareingenieuren, Tabellenkalkulationsdateien in .NET-Anwendungen zu lesen, zu erstellen und zu bearbeiten. IronXL arbeitet gut ohne den Einsatz von Office Excel Interop und benötigt keine zusätzlichen Abhängigkeiten oder die Installation von Microsoft Office.

Sie können mehr über IronXL von der umfassenden Produktdokumentation erfahren.

Iron Software bietet alle fünf Bibliotheken (IronPDF, IronXL, IronBarcode, IronWebScraper und IronOCR) in einer einzigen .NET Suite an. Sie können alle fünf Bibliotheken zum Preis von zwei erhalten, wenn Sie die komplette Suite erwerben. Alle Einkäufe beinhalten lebenslangen Produktsupport.

Zusammenfassung

NuGet ist der Paketmanager für .NET-Anwendungen. Die NuGet-Clientwerkzeuge bieten die Möglichkeit, Pakete zu erstellen, zu teilen und abzurufen. Die NuGet Gallery ist das zentrale Paket-Repository, das von allen Paketautoren und Verbrauchern verwendet wird.

  • NuGet provides the central nuget.org repository with support for private hosting.
  • NuGet bietet die Werkzeuge, die Entwickler benötigen, um Pakete zu erstellen, zu veröffentlichen und zu installieren.
  • NuGet führt ein Verzeichnis der in einem Projekt verwendeten Pakete und die Fähigkeit, diese Pakete aus dieser Liste wiederherzustellen und zu aktualisieren.

Häufig gestellte Fragen

Wie kann ich HTML in PDF in C# konvertieren?

Sie können die RenderHtmlAsPdf-Methode von IronPDF verwenden, um HTML-Strings in PDFs zu konvertieren. Sie können auch HTML-Dateien in PDFs umwandeln, indem Sie die RenderHtmlFileAsPdf-Methode verwenden.

Was ist NuGet und warum ist es wichtig für .NET-Entwickler?

NuGet ist ein Paketverwaltungssystem, das .NET-Entwicklern ermöglicht, verpackten Code effizient zu erstellen, zu teilen und zu nutzen. Es vereinfacht das Management von Drittanbieter-Bibliotheken und Abhängigkeiten, sorgt dafür, dass die richtigen Versionen verwendet werden, und erleichtert das Aktualisieren und Wiederherstellen von Paketen.

Wie installiere ich ein NuGet-Paket mit der .NET-CLI?

Um ein NuGet-Paket mit der .NET CLI zu installieren, können Sie den Befehl dotnet add package [PackageName] verwenden. Dieser Befehl fügt das angegebene Paket zu Ihrem Projekt hinzu und vereinfacht den Prozess der Paketverwaltung.

Welche Werkzeuge sind unverzichtbar für die Verwaltung von NuGet-Paketen in Visual Studio?

Unverzichtbare Werkzeuge für die Verwaltung von NuGet-Paketen in Visual Studio sind die Paket-Manager-Benutzeroberfläche, die Paket-Manager-Konsole und die .NET CLI. Diese Werkzeuge ermöglichen das effiziente Durchsuchen, Installieren und Aktualisieren von Paketen innerhalb Ihrer Projekte.

Welche Vorteile bietet die Verwendung von privatem Hosting für NuGet-Pakete?

Privates Hosting für NuGet-Pakete ermöglicht es Entwicklern, Pakete sicher innerhalb bestimmter Gruppen oder Organisationen zu teilen. Dies stellt sicher, dass nur autorisierte Benutzer Zugriff auf bestimmte Pakete haben, was die Sicherheit und Kontrolle über die Codeverteilung erhöht.

Wie erleichtert die NuGet-Paket-Manager-Konsole das Paketmanagement?

Die NuGet-Paket-Manager-Konsole in Visual Studio ermöglicht es Entwicklern, Befehle zum Installieren, Aktualisieren und Verwalten von Paketen direkt in ihrer Entwicklungsumgebung auszuführen. Dies bietet eine leistungsstarke Oberfläche für das effiziente Handling von Paketabhängigkeiten und -versionen.

Welche Rolle spielt ein Manifest in einem NuGet-Paket?

Ein Manifest in einem NuGet-Paket enthält Metadaten, wie zum Beispiel die Versionsnummer des Pakets und andere wichtige Informationen. Diese Metadaten sind entscheidend für die Identifizierung, Verwaltung und Lösung von Abhängigkeiten innerhalb eines Projekts.

Kann NuGet für Nicht-.NET-Projekte verwendet werden?

Obwohl NuGet hauptsächlich für .NET-Projekte entwickelt wurde, kann seine Infrastruktur das Paketmanagement für eine Vielzahl anderer Projekte unterstützen. Seine volle Leistungsfähigkeit und Merkmale werden jedoch am besten innerhalb des .NET-Ökosystems genutzt.

Wie vereinfachen Caching-Mechanismen in NuGet das Paketmanagement?

Die Caching-Mechanismen von NuGet ermöglichen eine einfache Installation und Neuinstallation von Paketen, indem sie Paketinhalte lokal speichern. Dies reduziert die Notwendigkeit, Pakete immer wieder aus dem zentralen Repository herunterzuladen, und beschleunigt den Entwicklungsprozess.

Was sind einige Beispiele für beliebte NuGet-Pakete?

Beliebte NuGet-Pakete sind Entity Framework für Datenbankinteraktionen, IronPDF für PDF-Verarbeitung und IronXL für das Bearbeiten von Tabellenkalkulationen. Diese Pakete bieten Entwicklern leistungsstarke Werkzeuge zur Verbesserung ihrer .NET-Anwendungen.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen