Leistungen
Leistungen
Überblick
Leistungsangebot
Kernkompetenzen
Schulungsthemen
In-House-Schulungen
Offene .NET-Seminare
Offene WPS-Seminare
Beratung
Coaching
Support
Softwareentwicklung
Entwickler-Vermittlung
.NET/Visual Studio
TFS/ALM/Scrum
Webprogrammierung
PowerShell
Konditionen
Anfrage/Kontakt
Beratung/Coaching
Beratung/Coaching
Beratungsthemen
Coaching
Unsere Berater
Referenzkunden
Konditionen
Angebotsanfrage
In-House-Schulungen
In-House-Schulungen
Überblick
Themen/Fachgebiete
Schulungskonfigurator
Konzepte
.NET/Visual Studio
C#
VB.NET
ASP.NET
Moderne Webanwendungen
TFS/ALM/Scrum
PowerShell
Konferenzvortraege
Referenzkunden
Unsere Trainer
Konditionen
Angebotsanfrage
Offene Schulungen
Offene Schulungen
Überblick .NET-Seminare
.NET/C#-Basisseminar
WPF (Desktop)
ASP.NET/AJAX (Web)
WCF/WF (SOA)
ADO.NET/EF (Data)
Windows PowerShell
.NET, C#, VB, Visual Studio
.NET, C#, VB, Visual Studio
Startseite
Beratung/Training
Offene .NET-Seminare
Einführung
Lexikon
Artikel
Bücher
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
World Wide Wings Demo
Codebeispiele
Scripting
ASP.NET
.NET 2.0
.NET 3.0/3.5
.NET 4.0/4.5
Community
Forum
Kommerzielle Leistungen
ASP.NET
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
PowerShell
PowerShell
Überblick
Beratung
In-House-Schulungen
Öffentliche Schulungen
Codebeispiele
Commandlet Extensions
Offene PowerShell-Seminare
Inhouse-Seminare
Windows
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Windows Scripting
Windows Scripting
Startseite
Lexikon
FAQ
Buecher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
Scripting-Tools
WSH-Editoren
Codebeispiele
ASP.NET
.NET-Scripting
Forum
Links
Kommerzielle Leistungen
Service
Service
Website-FAQ
Anmeldung/Login
Leser-Registrierung
Gast-Registrierung
Nachrichten/RSS
Newsletter
Foren
Weblog
Lexikon
Downloads
Support
Kontakt
Literaturtipps
Publikationen
Publikationen
Redaktionsbüro
Bücher
Fachartikel
Leser-Portal
Autoren gesucht!
Rezensionen
Über uns
Über uns
Holger Schwichtenberg
Team
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Site Map
Weitere Websites
Tag Cloud
Impressum
Rechtliches

Erklärung des Begriffs: NuGet Library Package Manager
Was ist NuGet Library Package Manager?

Zurück zur Stichwortliste



Begriff NuGet Library Package Manager
Abkürzung
Synonyme/Aliase

Erläuterung des Begriffs NuGet Library Package Manager

NuGet ist eine komfortable Verwaltungsfunktion von Zusatzpaketen für .NET-Projekte in Visual Studio (ab Version 2010). Hier geht es nicht um die Erweiterung der Visual Studio-Entwicklungsumgebung, sondern um die Installation von zusätzlichen Komponenten für .NET-Projekte, die über den Lieferumfang des .NET Frameworks hinausgehen. Es gibt inzwischen viele hundert solcher Zusatzkomponenten sowohl von Microsoft als auch von Drittanbie-tern bzw. der Open Source-Gemeinde.

Bezugsquelle: www.nuget.org

Klassischerweise lädt man solche Zusatzkomponenten von irgendeiner Website herunter. Man führt eine Setup.exe aus oder entpackt ein ZIP-Paket. Dadurch erhält man eine oder mehrere Assemblies, die man dann im Visual Studio-Projekt referenziert. Manchmal findet man gerade nach der Ausführung eines Setup-Pakets diese Assemblies gar nicht so leicht auf der eigenen Festplatte. Manchmal muss man zum Funktionieren der Komponente noch Einträge in der Konfigurationsdatei vornehmen. Manchmal muss man vorher erst andere Komponenten hinzufügen, damit eine Komponente funktionieren kann.
Diesen Vorgang vereinfacht NuGet. NuGet definiert Pakete, die die für eine Zusatzkomponente benötigten Assemblies und Konfigurationseinstellungen enthalten. Zudem kann ein NuGet-Paket Abhängigkeiten zu anderen Paket definieren.

Der Dialog „Manage NuGet Packages“ (siehe Abbildung), den man unter „Tools/Library Package Mana-ger“ oder im Kontextmenü eines Projekts im Solution Explorer findet, bietet eine Online-Suche von Zu-satzkomponenten. Dabei wird im Standard auf www.nuget.org (mit Webservices https://nuget.org/api/v2/) gesucht. Man kann aber einen eigenen NuGet-Server betreiben und diesen unter Tools/Package Mana-ger/Package Sources in Visual Studio registrieren.
Alternativ zu dem NuGet-Dialog kann man die NuGet-Konsole verwenden. Diese basiert auf der Windows PowerShell und bietet für NuGet das Commandlet „Install-Package“. Durch den Parameter –Version kann man eine bestimmte Version einer Zusatzkomponente installieren. Durch den Parameter –IncludePrelease (abgekürzt –pre) kann man erzwingen, dass auch eine eventuell vorhandene Vorab-Version (CTP, Alpha, Beta, RC) einer Zusatzkomponente installiert wird.

TIPP: Die NuGet-Konsole bietet alle Befehle der Windows PowerShell. Erforschen Sie die Möglichkeiten mit „Get-Command“. Wünschen Sie sich mehr Informationen zu den Befehlen? Geben Sie „Get-Help Befehlsname –full“ ein. Wünschen Sie, dass dieses Buch die Befehle beschreibt? Bitte bedenken Sie, dass es Bücher zur PowerShell mehrere Hundert Seiten dick sind!

Durch die Installation eines NuGet-Pakets werden die benötigten Assemblies dem aktuellen Projekt (oder wahlweise allen Projekten in einer Projektmappe) hinzugefügt. Optional werden die Konfigurationsdateien (app.config oder web.config) geändert. Die Installation des Zusatzpakets „NHibernate“ zeigt in obiger Bildschirmabbildung, dass gemäß der im Paket definierten Abhängigkeiten die das Paket „Iesi.Collections“ mit installiert wurde.

HINTERGRUND: Ein NuGet-Packet ist eine Datei mit der Dateinamenserweiterung .nupkg. Dahinter verbirgt sich eine ZIP-Datei. Zentraler Punkt in dem Archiv ist eine Datei mit der Dateinamenserweiterung .nuspec, in der Metadaten des Pakets und Abhängigkeiten beschrieben werden (siehe folgende Beispiele). Die installierten Pakete werden im Verzeichnis „Packages“ unterhalb des Projektmappenverzeichnisses sowie in zentralen NuGet-Cache im Benutzerprofil (AppData/Local/NuGet/Cache) abgelegt.
TIPP: Mit Hilfe des Cache-Verzeichnisses können Sie auch bereits einmal heruntergeladene NuGet-Pakete installueren, wenn Sie offline sind (z.B. install-package nHibernate -Source C:\Users\HS\AppData\Local\NuGet\Cache)

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd";>
  <metadata>
   <id>NHibernate</id>
   <version>3.3.1.4000</version>
   <authors>NHibernate community, Hibernate community</authors>
   <owners>NHibernate community, Hibernate community</owners>
   <projectUrl>http://www.nhforge.org</projectUrl>
   <requireLicenseAcceptance>false</requireLicenseAcceptance>
   <description>NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, fully featured and used in thousands of suc-cessful projects.</description>
   <summary>NHibernate is a mature, open source object-relational mapper for the .NET framework. It is actively developed, fully featured and used in thousands of successful projects.</summary>
   <language>en-US</language>
   <tags>ORM, DataBase, DAL, ObjectRelationalMapping</tags>
   <dependencies>
   <dependency id="Iesi.Collections" version="3.2.0.4000" />
   </dependencies>
  </metadata>
</package>
Listing 1: Paket-Spezifikation für das NuGet-Paket „NHibernate“

<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd";>
  <metadata>
   <id>EntityFramework</id>
   <version>5.0.0-rc</version>
   <authors>Microsoft</authors>
   <owners>Microsoft</owners>
   <licenseUrl>http://go.microsoft.com/fwlink/?LinkId=248959<;/licenseUrl>
   <projectUrl>http://go.microsoft.com/fwlink/?LinkId=248960<;/projectUrl>
   <requireLicenseAcceptance>true</requireLicenseAcceptance>
   <description>Entity Framework is Microsoft's recommended data access technology for new applications.</description>
   <summary>Entity Framework is Microsoft's recommended data access technology for new applications.</summary>
   <language>en-US</language>
   <frameworkAssemblies>
   <frameworkAssembly assemblyName="System.Data.Entity" targetFramework="" />
   <frameworkAssembly assemblyName="System.ComponentModel.DataAnnotations" targetFra-mework="" />
   </frameworkAssemblies>
  </metadata>
</package>
Listing 2: Paket-Spezifikation für das NuGet-Paket „EntityFramework“

Querverweise zu anderen Begriffen im Lexikon


siehe www.nuget.org

System.ComponentModel
Entwicklungsumgebung
Konfigurationsdatei
Windows PowerShell
System.Data
Annotation
Commandlet
web.config
Powershell
Komponente
Webservice
Metadaten
Assembly
Kontext


Dienstleistungen:

Beratung/Consulting zu NuGet Library Package Manager

Support zu NuGet Library Package Manager

Schulungen zu diesem Thema: