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.
NuGet 2.9 RC Versionshinweise | NuGet 3.0 Beta– Versionshinweise
NuGet 3.0 Preview wurde am 12. November 2014 als Teil der Visual Studio 2015 Preview-Version veröffentlicht. Wir haben NuGet 3.0 Preview veröffentlicht. Dies ist ein bedeutender Release für uns (wenn auch eine Vorschauversion), und wir freuen uns darauf, Feedback zu unseren Anpassungen zu erhalten.
Visual Studio 2012+
Diese NuGet 3.0 Preview ist in Visual Studio 2015 Preview enthalten. Wir arbeiten daran, Vorschauversionen für Visual Studio 2012 und Visual Studio 2013 sehr bald zu veröffentlichen. Wir haben zuvor unsere Absicht geteilt, Updates für Visual Studio 2010 einzustellen, und wir haben diese schwierige Entscheidung getroffen.
Brandneue Benutzeroberfläche
Das erste, was Sie über NuGet 3.0 Preview bemerken, ist unsere brandneue Benutzeroberfläche. Es ist kein modales Dialogfeld mehr; Es ist jetzt ein vollständiges Visual Studio-Dokumentfenster. Auf diese Weise können Sie die Benutzeroberfläche für mehrere Projekte (und/oder die Projektmappe) gleichzeitig öffnen, das Fenster auf einen anderen Monitor verschieben und andocken, wie Sie möchten, oder Ähnliches.
Neben den Benutzerfreundlichkeitsunterschieden aufgrund des Verlassens des modalen Dialogfelds haben wir auch viele neue Features in der neuen Benutzeroberfläche.
Versionsauswahl
Vielleicht ist das am meisten angeforderte UI-Feature das Zulassen der Versionsauswahl für die Paketinstallation und -aktualisierung– dies ist jetzt verfügbar.
Ganz gleich, ob Sie ein Paket installieren oder aktualisieren, mit der Versionsdropdownliste können Sie alle verfügbaren Versionen für das Paket anzeigen, mit einigen wichtigen Versionen, die oben in der Liste höher gestuft wurden, um eine einfache Auswahl zu ermöglichen. Sie müssen die PowerShell-Konsole nicht mehr verwenden, um bestimmte Versionen abzurufen, die nicht die neuesten Sind.
Kombinierte Workflows für Installationen, Online- und Updates
Unsere vorherige Benutzeroberfläche verfügte über drei Registerkarten für "Installiert", "Online" und "Updates". Die aufgeführten Pakete waren spezifisch für diese Workflows, und die verfügbaren Aktionen waren auch für die Workflows spezifisch. Obwohl das logisch schien, haben wir gehört, dass viele von Ihnen oft durch diese Trennung verwirrt worden sind.
Wir haben jetzt eine kombinierte Oberfläche, in der Sie ein Paket installieren, aktualisieren oder deinstallieren können, unabhängig davon, wie Sie das Paket ausgewählt haben. Zur Unterstützung der spezifischen Workflows verfügen wir jetzt über ein Dropdown-Menü, mit dem Sie die sichtbaren Pakete filtern können, wobei die für das Paket verfügbaren Aktionen konsistent bleiben.
Mit dem Filter "Installiert" können Sie ganz einfach Ihre installierten Pakete und die verfügbaren Updates anzeigen. Außerdem können Sie das Paket entweder deinstallieren oder aktualisieren, indem Sie die Versionsauswahl ändern, um die verfügbaren Aktionen zu sehen.
Versionskonsolidierung
Es ist üblich, dass dasselbe Paket in mehreren Projekten in Ihrer Lösung installiert ist. Manchmal können sich die in jedem Projekt installierten Versionen voneinander entfernen, und es ist notwendig, die verwendeten Versionen zu konsolidieren. NuGet 3.0 Preview führt nur für dieses Szenario ein neues Feature ein.
Auf das Verwaltungsfenster auf Lösungsebene kann zugegriffen werden, indem Sie mit der rechten Maustaste auf die Lösung klicken und NuGet-Pakete für Lösung verwalten auswählen. Wenn Sie dort ein Paket auswählen, das in mehreren Projekten installiert ist, aber mit verschiedenen verwendeten Versionen wird eine neue "Konsolidieren"-Aktion verfügbar. Im folgenden Screenshot wurde Newtonsoft.Json in der SamplesClassLibrary mit Version 6.0.4 installiert und in SamplesConsoleApp mit Version 5.0.4 installiert.
Hier ist der Workflow zum Konsolidieren auf eine einzige Version.
- Wählen Sie das
Newtonsoft.JsonPaket in der Liste aus. - Wählen Sie
Consolidateaus derActionDropdownliste - Verwenden Sie die
VersionDropdown-Liste, um die Version auszuwählen, die konsolidiert werden soll. - Aktivieren Sie die Kontrollkästchen für die Projekte, die in dieser Version konsolidiert werden sollen (beachten Sie, dass Projekte, die bereits auf der ausgewählten Version vorhanden sind, abgeblenkt werden)
- Klicken Sie auf die
ConsolidateSchaltfläche, um die Konsolidierung auszuführen.
Operationsvorschauen
Unabhängig davon, welchen Vorgang Sie ausführen:-install/update/uninstall--die neue Benutzeroberfläche bietet jetzt eine Möglichkeit, eine Vorschau der Änderungen anzuzeigen, die an Ihrem Projekt vorgenommen werden. In dieser Vorschau werden alle neuen Pakete angezeigt, die installiert werden, Pakete, die aktualisiert werden, und Pakete, die deinstalliert werden, sowie Pakete, die während des Vorgangs unverändert bleiben.
Im folgenden Beispiel sehen wir, dass die Installation von Microsoft.AspNet.SignalR zu einigen Änderungen am Projekt führt.
Installationsoptionen
Mithilfe der PowerShell-Konsole haben Sie die Kontrolle über einige wichtige Installationsoptionen. Wir haben diese Features nun auch in die Benutzeroberfläche gebracht. Sie können nun das Abhängigkeitsauflösungsverhalten steuern, um festzulegen, wie Versionen der Abhängigkeiten ausgewählt werden.
Sie können auch angeben, welche Aktion ausgeführt werden soll, wenn Inhaltsdateien aus Paketen bereits in Ihrem Projekt mit Dateien in Konflikt geraten.
Endloses Scrollen
Wir erhielten regelmäßig einiges Feedback zu unserer Benutzeroberfläche, die beim Auflisten von Paketen sowohl das Scrollen als auch das Paging als Paradigmen verwendete. Es war ziemlich üblich, zum Ende der kurzen Liste zu scrollen, auf die nächste Seitenzahl zu klicken und dann erneut zu scrollen. Mit der neuen Benutzeroberfläche haben wir unendliches Scrollen in der Paketliste implementiert, sodass Sie nur noch scrollen müssen – kein weiterer Seitenwechsel nötig.
Lass es funktionieren, mach es schnell, mach es schön
Wir freuen uns, diese neue Benutzeroberfläche für Sie auszuprobieren. Während dieses Preview-Meilensteins folgen wir dem guten alten Werbewort "Make it work, make it fast, make it pretty". In dieser Vorschau haben wir die meisten dieser ersten Ziele erreicht – es funktioniert. Wir wissen, dass es noch nicht ganz schnell ist, und wir wissen, dass es noch nicht ganz hübsch ist. Vertrauen Sie, dass wir an diesen Zielen zwischen jetzt und der RC-Version arbeiten werden. In der Zwischenzeit würden wir uns freuen, Ihr Feedback zur Benutzerfreundlichkeit der neuen Benutzeroberfläche zu erhalten – zu den Workflows, Vorgängen und wie es sich anfühlt, die neue Benutzeroberfläche zu nutzen.
Es gibt eine Reihe von Funktionen, die wir im Vergleich zur alten Benutzeroberfläche entfernt haben. Eine davon war absichtlich, und die andere wurde nicht rechtzeitig erledigt.
Durchsuchen von "All"-Paketquellen
Mit der alten Benutzeroberfläche können Sie eine Paketsuche für alle Paketquellen ausführen. Wir haben dieses Feature in der Benutzeroberfläche entfernt, und wir werden es nicht wieder zurückgeben. Dieses Feature wird verwendet, um Suchvorgänge für alle Paketquellen auszuführen, die Ergebnisse zusammen zu speichern und zu versuchen, die Ergebnisse basierend auf Ihrer Sortierauswahl zu sortieren.
Wir haben festgestellt, dass es sehr schwierig ist, die Suchrelevanz zusammenzuführen. Könnten Sie sich vorstellen, eine Suche gegen Google und Bing durchzuführen und die Ergebnisse zusammen zu weben? Darüber hinaus war dieses Feature langsam, leicht versehentlich zu verwenden, und wir glauben, dass es selten tatsächlich nützlich war. Aufgrund der Probleme, die das Feature eingeführt hat, erhielten wir eine Reihe von Fehlerberichten darüber, die nie behoben werden konnten.
Alle aktualisieren
Wir haben bisher eine Schaltfläche "Alle aktualisieren" in der alten Benutzeroberfläche verwendet, die noch nicht in der neuen Benutzeroberfläche enthalten ist. Wir werden diese Funktion für unsere RC-Version wiederherstellen.
Neue Client-/Server-API
Zusätzlich zu allen neuen Features in unserer neuen Paketverwaltungsbenutzeroberfläche haben wir auch an einigen Implementierungsdetails für das Client-/Serverprotokoll von NuGet gearbeitet. Die Arbeit, die wir getan haben, ist das Erstellen von "API v3" für NuGet, das auf hohe Verfügbarkeit für kritische Szenarien wie die Paketwiederherstellung und die Installation von Paketen ausgelegt ist. Die neue API basiert auf REST und Hypermedia, und wir haben JSON-LD als Ressourcenformat ausgewählt.
In den NuGet 3.0 Preview-Bits wird eine neue Paketquelle namens "preview.nuget.org" im Paketquelldropdown angezeigt. Wenn Sie diese Paketquelle auswählen, verwenden wir stattdessen unsere neue API, um eine Verbindung mit nuget.org herzustellen. Wir haben die Vorschauquelle auf der Benutzeroberfläche verfügbar gemacht, während wir die neue API weiterhin testen, überarbeiten und verbessern. In NuGet 3.0 RC ersetzt diese neue v3-basierte API-Paketquelle die v2-basierte Paketquelle "nuget.org".
Trotz der Investition in API v3 haben wir alle diese neuen Features auch mit unserem vorhandenen API v2-Protokoll verwendet, was bedeutet, dass sie auch mit vorhandenen Paketquellen als nuget.org funktionieren.
Neue Features kommen bald
Zwischen jetzt und 3.0 RTM arbeiten wir auch an einigen grundlegenden neuen NuGet-Features, die nicht nur in der Benutzeroberfläche angezeigt werden. Hier ist eine kurze Liste der interessanten Investitionsbereiche:
- Wir arbeiten mit den Visual Studio- und MSBuild-Teams zusammen, um NuGet tiefer in die Plattform zu bringen.
- Wir arbeiten daran, die Konventionen für Installationspakete aufzugeben und diese stattdessen beim Verpacken anzuwenden, indem wir ein neues, maßgebliches Paketmanifest einführen.
- Wir arbeiten daran, die NuGet-Codebasis umzugestalten, um die Client- und Serverkomponenten in verschiedenen Domänen wiederverwendbar zu machen, die über die Paketverwaltung in Visual Studio hinausgehen.
- Wir untersuchen den Begriff "private Abhängigkeiten", in dem ein Paket angeben kann, dass es nur Abhängigkeiten von anderen Paketen für Implementierungsdetails enthält, und diese Abhängigkeiten sollten nicht als Abhängigkeiten auf oberster Ebene angezeigt werden.
Bleiben Sie auf dem Laufenden
Bitte achten Sie auf unseren Blog für weitere Fortschritte und Ankündigungen für NuGet 3.0!