Versionshinweise zu NuGet 1.4
NuGet 1.3 Versionshinweise | NuGet 1.5 – Versionshinweise
NuGet 1.4 wurde am 17. Juni 2011 veröffentlicht.
NuGet 1.4 führt eine Reihe von Verbesserungen am Update-Package-Befehl ein, die es einfacher machen, Pakete über mehrere Projekte in einer Lösung hinweg auf derselben Version zu halten. Wenn Sie beispielsweise ein Paket auf die neueste Version aktualisieren, ist es üblich, dass alle Projekte, in denen dieses Paket installiert ist, auf dieselbe Version aktualisiert werden.
Der Update-Package
-Befehl erleichtert jetzt Folgendes:
Update-Package -Project MvcApplication1
Update-Package PackageId
Update-Package
Das -Safe
-Flag schränkt Upgrades nur auf Versionen mit derselben Haupt- und Nebenversionskomponente ein. Wenn beispielsweise Version 1.0.0 eines Pakets installiert ist und Versionen 1.0.1, 1.0.2 und 1.1 im Feed verfügbar sind, aktualisiert das -Safe
-Flag das Paket auf 1.0.2. Ein Upgrade ohne das -Safe
-Flag würde das Paket auf die neueste Version 1.1 aktualisieren.
Update-Package -Safe
Vor NuGet 1.4 war die Installation eines Pakets in mehreren Projekten mit dem Dialogfeld umständlich. Es ist notwendig, das Dialogfeld einmal pro Projekt zu starten.
NuGet 1.4 fügt Unterstützung für die Installation/Deinstallation/Aktualisierung von Paketen in mehreren Projekten gleichzeitig hinzu. Starten Sie einfach, indem Sie mit der rechten Maustaste auf den Projektordner klicken und die Menüoption NuGet-Pakete verwalten auswählen.
Beachten Sie, dass in der Titelleiste des Dialogfelds der Name des Projektordners und nicht der Name eines Projekts angezeigt wird. Paketvorgänge bieten jetzt eine Liste von Kontrollkästchen mit der Liste der Projekte, auf die der Vorgang angewendet werden soll.
Weitere Informationen finden Sie unter Verwalten von Paketen für die Lösung.
Wenn Sie den Update-Package
-Befehl in einem Paket ausführen (oder das Paket mithilfe des Dialogfelds aktualisieren), wird er standardmäßig auf die neueste Version im Feed aktualisiert. Mit der neuen Unterstützung für das Aktualisieren aller Pakete können Fälle auftreten, in denen Sie ein Paket in einem bestimmten Versionsbereich sperren möchten. Sie können beispielsweise im Voraus wissen, dass Ihre Anwendung nur mit Version 2.* eines Pakets funktioniert, aber nicht mit 3.0 und höher. Um zu verhindern, dass das Paket versehentlich auf Version 3 aktualisiert wird, fügt NuGet 1.4 Unterstützung für die Einschränkung des Bereichs der Versionen hinzu, auf die Pakete aktualisiert werden können, indem sie Sie die packages.config
-Datei mit dem neuen allowedVersions
-Attribut manuell bearbeiten lässt.
Das folgende Beispiel zeigt beispielsweise, wie das SomePackage
-Paket für den Versionsbereich 2.0–3.0 (exklusiv) gesperrt wird.
Das allowedVersions
-Attribut akzeptiert Werte im Versionsbereichsformat.
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SomePackage" version="2.1.0" allowedVersions="[2.0, 3.0)" />
</packages>
Beachten Sie, dass das Sperren eines Pakets in einem bestimmten Versionsbereich in 1.4 manuell bearbeitet werden muss. In NuGet 1.5 wird die Unterstützung für das Platzieren dieses Bereichs über den Install-Package
-Befehl hinzugefügt.
Mit dem neuen Paket-Visualizer, der über die Menüoption Tools ->Library-Paket-Manager ->Paket-Visualizeraufgerufen wird, können Sie alle Projekte und ihre Paketabhängigkeiten innerhalb einer Lösung einfach visualisieren.
Wichtiger Hinweis: Dieses Feature nutzt die DGML-Unterstützung in Visual Studio. Das Erstellen der Visualisierung wird nur in Visual Studio Ultimate unterstützt. Das Anzeigen eines DGML-Diagramms wird nur in Visual Studio Premium oder höher unterstützt.
In einigen Versionen von NuGet werden neue Features eingeführt, die über die .nuspec
-Datei ausgedrückt werden, die von älteren Versionen des NuGet-Dialogfelds nicht verstanden werden.
Ein Beispiel ist die Einführung in NuGet 1.4 zum Angeben von Frameworkassemblys.
Daher ist es wichtig, die neueste Version von NuGet zu verwenden, um sicherzustellen, dass Sie Pakete verwenden können, die die neuesten Features nutzen.
Um Aktualisierungen für NuGet sichtbarer zu machen, enthält das NuGet-Dialogfeld Logik, um hervorzuheben, wann eine neuere Version verfügbar ist.
Hinweis: Die Überprüfung erfolgt nur, wenn die Registerkarte Online in der aktuellen Sitzung ausgewählt wurde.
Um die automatische Überprüfung auf Updates zu deaktivieren, wechseln Sie zum Dialogfeld NuGet-Einstellungen, und deaktivieren Sie die Option Automatische Überprüfung auf Updates.
Dieses Feature wurde tatsächlich in NuGet 1.3 hinzugefügt, ist wenngleich nicht sichtbar, solange nicht ein Update auf 1.3, z. B. NuGet 1.4, verfügbar gemacht wurde.
- Die Menünamen wurden verbessert: Die Menüoptionen zum Starten des Dialogfelds wurden aus Gründen der Übersichtlichkeit umbenannt. Die Menüoption heißt nun NuGet-Pakete verwalten.
- Die Detailansicht zeigt das Datum der letzten Aktualisierung an: Der NuGet-Dialog zeigt das Datum der letzten Aktualisierung in der Detailansicht eines Pakets an, wenn die Registerkarte Online oder Updates ausgewählt wurde.
- Liste der angezeigten Tags: Im Nuget-Dialogfeld werden Tags angezeigt.
- Signierte PowerShell-Skripte: NuGet enthält signierte PowerShell-Skripte, die die Verwendung in restriktiveren Umgebungen ermöglichen.
- Aufforderungsunterstützung: Die Paket-Manager-Konsole unterstützt jetzt die Eingabeaufforderung über die
$host.ui.Prompt
- und$host.ui.PromptForChoice
-Befehle. - Paketquellnamen: Das Angeben des Namens einer Paketquelle wird unterstützt, wenn eine Paketquelle mithilfe des
-Source
-Flags angegeben wird.
- Benutzerdefinierte NuGet-Befehle: nuget.exe ist über benutzerdefinierte Befehle mit MEF erweiterbar.
- Einfacherer Workflow zum Erstellen von Symbolpaketen: Das
-Symbols
-Flag kann auf eine normale konventionsbasierte Ordnerstruktur angewendet werden, die ein Symbolpaket erstellt, indem nur die Quelle und die.pdb
-Dateien in den Ordner mitaufgenommen werden. - Angeben mehrerer Quellen: Der
NuGet install
-Befehl unterstützt die Angabe mehrerer Quellen mithilfe von Semikolons als Trennzeichen oder durch mehrfache Angabe von-Source
. - Unterstützung für die Proxyauthentifizierung: NuGet 1.4 bietet Unterstützung für die Aufforderung zur Eingabe von Benutzeranmeldeinformationen bei Verwendung von NuGet hinter einem Proxy, der eine Authentifizierung erfordert.
- nuget.exe Breaking Change-Update: Das
-Self
-Flag ist jetzt für nuget.exe zur Selbstaktualisierung erforderlich.nuget.exe Update
nimmt nun einen Pfad zurpackages.config
-Datei ein und versucht, Pakete zu aktualisieren. Bitte beachten Sie, dass dieses Update nur eingeschränkt funktioniert, da es nicht möglich ist: **-Inhalte in der Projektdatei zu aktualisieren, hinzuzufügen oder zu entfernen. ** Führen Sie PowerShell-Skripts innerhalb des Pakets aus.
NuGet bietet eine einfache Möglichkeit, ein einfaches webbasiertes NuGet-Repository über das NuGet.Server
-NuGet-Paket zu hosten. Mit NuGet 1.4 unterstützt der einfache Server das Pushen und Löschen von Paketen mithilfe von nuget.exe.
Die neueste Version von NuGet.Server
fügt ein neues appSetting
mit dem Namen apiKey
hinzu. Wenn der Schlüssel weggelassen wird bzw. leer bleibt, ist das Übertragen von Paketen in den Feed deaktiviert. Das Festlegen des apiKey auf einen Wert (idealerweise ein sicheres Kennwort) ermöglicht das Pushen von Paketen mithilfe von nuget.exe.
<appSettings>
<!-- Set the value here to allow people to push/delete packages from the server.
NOTE: This is a shared key (password) for all users. -->
<add key="apiKey" value="" />
</appSettings>
NuGet wird jetzt in der Release-Kandidatenversion von Windows-Telefon-Tools für Mango unterstützt. Derzeit bietet Windows-Telefon-Tools keine Unterstützung für den Visual Studio-Erweiterungs-Manager; Damit Sie NuGet für Windows-Telefon-Tools installieren können, müssen Sie den VSIX möglicherweise manuell herunterladen und ausführen.
Führen Sie den folgenden Befehl aus, um NuGet für Windows-Telefon-Tools zu deinstallieren.
vsixinstaller.exe /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5
NuGet 1.4 hatte insgesamt 88 Arbeitselemente behoben. 71 davon wurden als Fehler gekennzeichnet.
Eine vollständige Liste der Arbeitselemente, die in NuGet 1.4 behoben wurden, sehen Sie hier [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%201.4&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0)
.
[Issue 603](http://nuget.codeplex.com/workitem/603)
: Paketabhängigkeiten in verschiedenen Repositorys werden beim Angeben einer bestimmten Paketquelle ordnungsgemäß aufgelöst.[Issue 1036](http://nuget.codeplex.com/workitem/1036)
: Das Hinzufügen vonNuGet Pack SomeProject.csproj
zum Postbuildereignis führt nicht mehr zu einer Endlosschleife.[Issue 961](http://nuget.codeplex.com/workitem/961)
:-Source
-Flag unterstützt relative Pfade.
Kurz nach der Veröffentlichung von NuGet 1.4 haben wir einige Probleme gefunden, die es wichtig war, zu beheben. Die spezifische Versionsnummer dieses Updates auf 1.4 ist 1.4.20615.9020.
[Issue 1220](http://nuget.codeplex.com/workitem/1220)
: Update-Package führtinstall.ps1
/uninstall.ps1
nicht in allen Projekten aus, wenn mehrere Projekte vorhanden sind[Issue 1156](http://nuget.codeplex.com/workitem/1156)
: Die Paket-Manager-Konsole bleibt auf W2K3/XP hängen (wenn PowerShell 2 nicht installiert ist)