Häufig gestellte Fragen zu NuGetNuGet frequently-asked questions

Häufig gestellte Fragen in Bezug auf NuGet.org, z. B. Fragen zum NuGet.org-Konto, finden Sie unter Häufig gestellte Fragen zu NuGet.org.For frequently-asked questions pertaining to NuGet.org, such as NuGet.org account questions, see NuGet.org frequently-asked questions.

Was ist erforderlich, um NuGet auszuführen?What is required to run NuGet?

Sämtliche Informationen zur Benutzeroberfläche und zu den Befehlszeilentools sind im Installationshandbuch verfügbar.All the information around both UI and command-line tools is available in the Install guide.

Wird Mono von NuGet unterstützt?Does NuGet support Mono?

Das Befehlszeilentool (nuget.exe) erstellt und führt unter Mono 3.2 und höher aus und kann Pakete in Mono erstellen.The command-line tool, nuget.exe, builds and runs under Mono 3.2+ and can create packages in Mono.

nuget.exe funktioniert unter Windows problemlos, es gibt jedoch bekannte Probleme unter Linux und OS X. Weitere Informationen finden Sie auf GitHub unter Mono issues (Probleme mit Mono).Although nuget.exe works fully on Windows, there are known issues on Linux and OS X. Refer to Mono issues on GitHub.

Ein grafischer Client ist als Add-In für MonoDevelop verfügbar.A graphical client is available as an add-in for MonoDevelop.

Wie kann bestimmt werden, was in einem Paket enthalten ist und ob die Inhalte stabil und nützlich für meine Anwendung sind?How can I determine what a package contains and whether it's stable and useful for my application?

Die Primärquelle für Informationen zu einem Paket ist dessen Angebotsseite auf nuget.org (oder einem anderen privaten Feed).The primary source for learning about a package is its listing page on nuget.org (or another private feed). Jede Seite für ein Paket auf nuget.org enthält eine Beschreibung des Pakets, den Versionsverlauf und Nutzungsstatistiken.Each package page on nuget.org includes a description of the package, its version history, and usage statistics. Der Abschnitt Info auf der Seite des Pakets enthält ebenfalls einen Link zur Website des Projekts, auf der Sie in der Regel zahlreiche Beispiele und weitere Dokumentationen finden, die Sie beim Verwenden des Pakets unterstützen.The Info section on the package page also contains a link to the project's web site where you typically find many examples and other documentation to help you learn how the package is used.

Weitere Informationen finden Sie unter Finding and choosing packages (Suchen und Auswählen von Paketen).For more information, see Finding and choosing packages.

NuGet in Visual StudioNuGet in Visual Studio

Wie wird NuGet in verschiedenen Visual Studio-Produkten unterstützt?How is NuGet supported in different Visual Studio products?

Wie kann überprüft werden, ob die richtige Version der NuGet-Tools installiert ist?How do I check the exact version of the NuGet tools that are installed?

Verwenden Sie in Visual Studio den Befehl Hilfe > Info, und achten Sie auf die Version, die neben dem NuGet-Paket-Manager angezeigt wird.In Visual Studio, use the Help > About Microsoft Visual Studio command and look at the version displayed next to NuGet Package Manager.

Führen Sie alternativ die Konsole des Paket-Managers (Tools > NuGet-Paket-Manager > Paket-Manager-Konsole) aus, und geben Sie $host ein, um Informationen über NuGet anzuzeigen, die ebenfalls die Version enthalten.Alternatively, launch the Package Manager Console (Tools > NuGet Package Manager > Package Manager Console) and enter $host to see information about NuGet including the version.

Welche Programmiersprachen werden von NuGet unterstützt?What programming languages are supported by NuGet?

NuGet funktioniert im Allgemeinen mit .NET-Sprachen und wurde dafür entwickelt, .NET-Bibliotheken in Projekte einzubinden.NuGet generally works for .NET languages and is designed to bring .NET libraries into a project. Da NuGet ebenfalls die MSBuild- und Visual Studio-Automatisierung für einige Projekttypen unterstützt, werden teilweise auch andere Projekte und Sprachen unterstützt.Because it also supports MSBuild and Visual Studio automation in some project types, it also supports other projects and languages to various degrees.

Die neueste Version von NuGet unterstützt C#, Visual Basic, F#, WiX und C++.The most recent version of NuGet supports C#, Visual Basic, F#, WiX, and C++.

Welche Projektvorlagen werden von NuGet unterstützt?What project templates are supported by NuGet?

NuGet unterstützt eine Vielzahl von Projektvorlagen vollständig, z.B. Windows, Web, Cloud, SharePoint, WiX usw.NuGet has full support for a variety of project templates like Windows, Web, Cloud, SharePoint, Wix, and so on.

Wie können Pakete aktualisiert werden, die Teil von Visual Studio-Vorlagen sind?How do I update packages that are part of Visual Studio templates?

Wechseln Sie zur Registerkarte Updates in der Benutzeroberfläche des Paket-Managers, und klicken Sie auf Alle aktualisieren. Verwenden Sie alternativ den Befehl Update-Package über die Konsole des Paket-Managers.Go to the Updates tab in the Package Manager UI and select Update All, or use the Update-Package command from the Package Manager Console.

Sie müssen das Repository der Vorlage manuell aktualisieren, um die Vorlage zu aktualisieren.To update the template itself, you need to manually update the template repository. Weitere Informationen zu diesem Thema finden Sie in diesem Blogbeitrag von Xavier Decoster.See Xavier Decoster's blog on this subject. Beachten Sie, dass Sie diesen Vorgang auf Ihr eigenes Risiko durchführen, denn manuelle Updates können die Vorlage beschädigen, wenn die aktuellen Versionen aller Abhängigkeiten nicht miteinander kompatibel sind.Note that this is done at your own risk, because manual updates might corrupt the template if the latest version of all dependencies are not compatible with each other.

Kann NuGet außerhalb von Visual Studio verwendet werden?Can I use NuGet outside of Visual Studio?

Ja, NuGet funktioniert direkt über die Befehlszeile.Yes, NuGet works directly from the command line. Weitere Informationen finden Sie im Installationshandbuch und in der CLI-Referenz.See the Install guide and the CLI reference.

NuGet-BefehlszeileNuGet command line

Wie erhalte ich die aktuelle Version des NuGet-Befehlszeilentools?How do I get the latest version of NuGet command line tool?

Weitere Informationen finden Sie im Installationshandbuch.See the Install guide. Um die aktuell installierte Version des Tools zu überprüfen, verwenden Sie nuget help.To check the current installed version of the tool, use nuget help.

Welche Lizenzbestimmungen gelten für „nuget.exe“?What is the license for nuget.exe?

Sie dürfen „nuget.exe“ unter den Bedingungen der MIT-Lizenz weiterverteilen.You are allowed to redistribute nuget.exe under the terms of the MIT license. Sie sind für das Aktualisieren und Warten aller Kopien von „nuget.exe“ verantwortlich, die Sie weiterverteilen.You are responsible for updating and servicing any copies of nuget.exe that you choose to redistribute.

Ist es möglich, das NuGet-Befehlszeilentool zu erweitern?Is it possible to extend the NuGet command line tool?

Ja, es ist möglich, benutzerdefinierte Befehle zu nuget.exe hinzuzufügen. Dieser Vorgang wird in einem Blogbeitrag von Rob Reynold beschrieben.Yes, it's possible to add custom commands to nuget.exe, as described in Rob Reynold's post.

Konsole des NuGet-Paket-Managers (Visual Studio unter Windows)NuGet Package Manager Console (Visual Studio on Windows)

Wie kann auf das DTE-Objekt in der Konsole des Paket-Managers zugegriffen werden?How do I get access to the DTE object in the Package Manager console?

Das Objekt auf der obersten Ebene des Visual Studio-Automatisierungsobjektmodells wird als DTE-Objekt (Development Tools Environment) bezeichnet.The top-level object in the Visual Studio automation object model is called the DTE (Development Tools Environment) object. Die Konsole stellt dieses Objekt über die Variable $DTE bereit.The console provides this through a variable named $DTE. Weitere Informationen finden Sie in der Dokumentation zur Erweiterbarkeit von Visual Studio unter Automation Model Overview (Übersicht über das Automatisierungsmodell).For more information, see Automation Model Overview in the Visual Studio Extensibility documentation.

Ich versuche, die $DTE-Variable in den Typ DTE2 umzuwandeln, erhalte aber folgende Fehlermeldung: Ein Wert vom Typ "EnvDTE.DTEClass" kann nicht in den Typ "EnvDTE80.DTE2" konvertiert werden. Wo liegt der Fehler?I try to cast the $DTE variable to the type DTE2, but I get an error: Cannot convert the "EnvDTE.DTEClass" value of type "EnvDTE.DTEClass" to type "EnvDTE80.DTE2". What's wrong?

Dabei handelt es sich um ein bekanntes Problem bei der Interaktion von PowerShell mit COM-Objekten.This is a known issue with how PowerShell interacts with a COM object. Versuchen Sie Folgendes:Try the following:

`$dte2 = Get-Interface $dte ([EnvDTE80.DTE2])`

Bei Get-Interface handelt es sich um eine Hilfsfunktionen, die vom PowerShell-Host für NuGet hinzugefügt wurde.Get-Interface is a helper function added by the NuGet PowerShell host.

Erstellen und Veröffentlichen von PaketenCreating and publishing packages

Wie kann ein Paket in einem Feed aufgeführt werden?How do I list my package in a feed?

Weitere Informationen finden Sie unter Creating and publishing a package (Erstellen und Veröffentlichen von Paketen).See Creating and publishing a package.

Es gibt mehrere Versionen meiner Bibliothek, die verschiedene Versionen von .NET-Framework anzielen. Wie kann ein einziges Paket erstellt werden, das dies unterstützt?I have multiple versions of my library that target different versions of the .NET Framework. How do I build a single package that supports this?

Weitere Informationen finden Sie unter Supporting Multiple .NET Framework Versions and Profiles (Unterstützen mehrerer .NET Framework-Versionen und -Profile).See Supporting Multiple .NET Framework Versions and Profiles.

Wie können eigene Repositorys oder Feeds eingerichtet werden?How do I set up my own repository or feed?

Weitere Informationen finden Sie unter Hosting packages overview (Übersicht über das Hosten von Paketen).See the Hosting packages overview.

Wie können Pakete in einer Massenoperation an meinen NuGet-Feed hochgeladen werdenHow can I upload packages to my NuGet feed in bulk?

Weitere Informationen finden Sie unter Bulk publishing NuGet packages (Massenveröffentlichen von NuGet-Paketen) (jeffhandly.com).See Bulk publishing NuGet packages (jeffhandly.com).

Arbeiten mit PaketenWorking with packages

Wo liegt der Unterschied zwischen einem Paket auf Projektebene und einem Paket auf Projektmappenebene?What is the difference between a project-level package and a solution-level package?

Ein Paket auf Projektmappenebene (NuGet 3.x und höher) wird nur einmal in einer Projektmappe installiert und ist dann für alle Projekte in der Projektmappe verfügbar.A solution-level package (NuGet 3.x+) is installed only once in a solution and is then available for all projects in the solution. Ein Paket auf Projektebene wird in jedem Projekt installiert, das dieses verwendet.A project-level package is installed in each project that uses it. Durch ein Paket auf Projektmappenebene können ebenfalls neue Befehle installiert werden, die von der Konsole des Paket-Managers aus aufgerufen werden können.A solution-level package might also install new commands that can be called from within the Package Manager Console.

Ist es möglich, NuGet-Pakete ohne Internetverbindung zu installieren?Is it possible to install NuGet packages without Internet connectivity?

Ja. Weitere Informationen dazu finden Sie im Blogbeitrag How to access NuGet when nuget.org is down (or you're on a plane) (Zugriff auf NuGet, wenn nuget.org offline ist (oder wenn Sie sich in einem Flugzeug befinden)) von Scott Hanselman (hanselman.com).Yes, see Scott Hanselman's Blog post How to access NuGet when nuget.org is down (or you're on a plane) (hanselman.com).

Wie können Pakete an einem anderen Speicherort als dem Standardordner für Pakete installiert werden?How do I install packages in a different location from the default packages folder?

Legen Sie die Einstellung repositoryPath in Nuget.Config mithilfe von nuget config -set repositoryPath=<path> fest.Set the repositoryPath setting in Nuget.Config using nuget config -set repositoryPath=<path>.

Wie kann vermieden werden, dass der Ordner für NuGet-Pakete der Quellcodeverwaltung hinzugefügt wird?How do I avoid adding the NuGet packages folder into to source control?

Legen Sie die Einstellung disableSourceControlIntegration in Nuget.Config auf true fest.Set the disableSourceControlIntegration in Nuget.Config to true. Dieser Schlüssel funktioniert auf Projektmappenebene und muss daher zur $(Solutiondir)\.nuget\Nuget.Config-Datei hinzugefügt werden.This key works at the solution level and hence need to be added to the $(Solutiondir)\.nuget\Nuget.Config file. Durch das Aktivieren der Paketwiederherstellung in Visual Studio wird diese Datei automatisch erstellt.Enabling package restore from Visual Studio creates this file automatically.

Wie kann die Paketwiederherstellung deaktiviert werden?How do I turn off package restore?

Weitere Informationen finden Sie unter Enabling and disabling package restore (Aktivieren und Deaktivieren der Paketwiederherstellung).See Enabling and disabling package restore.

Warum wird die Fehlermeldung „Der Abhängigkeitsfehler kann nicht aufgelöst werden.“ angezeigt, wenn ein lokales Paket mit Remoteabhängigkeiten installiert wird?Why do I get an "Unable to resolve dependency error" when installing a local package with remote dependencies?

Sie müssen die Quelle Alle auswählen, wenn Sie ein lokales Paket im Projekt installieren.You need to select the All source when installing a local package into the project. Dadurch werden alle Feeds anstelle von einem einzigen verwendet.This aggregates all the feeds instead of using just one. Diese Fehlermeldung wird angezeigt, weil Benutzer von lokalen Repositorys aufgrund von Unternehmensrichtlinien häufig verhindern möchten, dass ein Remotepaket versehentlich installiert wird.The reason this error appears is that users of a local repository often want to avoid accidentally installing a remote package due to corporate polices.

Es gibt mehrere Projekte im selben Ordner, wie können für jedes Projekt separate PACKAGES.CONFIG-Dateien verwendet werden?I have multiple projects in the same folder, how can I use separate packages.config files for each project?

In den meisten Projekten, in denen sich separate Projekte in separaten Ordnern befinden, ist dies kein Problem, da NuGet die packages.config-Dateien in jedem Projekt identifiziert.In most projects where separate projects live in separate folders, this is not a problem as NuGet identifies the packages.config files in each project. Wenn sich ab NuGet 3.3 und höher mehrere Projekte im gleichen Ordner befinden, können Sie den Namen des Projekts zu den packages.config-Dateinamen hinzufügen, damit NuGet diese Datei verwendet. Verwenden Sie dabei das Muster packages.{project-name}.config.With NuGet 3.3+ and multiple projects in the same folder, you can insert the name of the project into the packages.config filenames use the pattern packages.{project-name}.config, and NuGet uses that file.

Dies stellt kein Problem dar, wenn Sie PackageReference verwenden, da jede Projektdatei eine eigene Liste der Abhängigkeiten enthält.This is not an issue when using PackageReference, as each project file contains its own list of dependencies.

nuget.org wird nicht in der Liste der Repositorys angezeigt, wie kann dies geändert werden?I don't see nuget.org in my list of repositories, how do I get it back?

  • Fügen Sie https://api.nuget.org/v3/index.json zur Liste der Quellen hinzu, oderAdd https://api.nuget.org/v3/index.json to your list of sources, or
  • Löschen Sie %appdata%\.nuget\NuGet.Config (Windows) oder ~/.nuget/NuGet/NuGet.Config (Mac/Linux), damit NuGet diese Dateien neu erstellen kann.Delete %appdata%\.nuget\NuGet.Config (Windows) or ~/.nuget/NuGet/NuGet.Config (Mac/Linux) and let NuGet re-create it.