Versionshinweise zu NuGet 2.7.2
NuGet 2.7.1 Versionshinweise | NuGet 2.8 – Versionshinweise
NuGet 2.7.2 wurde am 11. November 2013 veröffentlicht.
Seit einiger Zeit enthält Microsoft die NuGet-Pakete für mehrere beliebte Open-Source-Bibliotheken als Teil der Standardvorlagen für Webanwendungsprojekte in Visual Studio. jQuery ist wahrscheinlich das bekannteste Beispiel für diese Art von Bibliothek. Aufgrund der Support-Vereinbarung für Komponenten, die zusammen mit einem Produkt geliefert werden, enthält die Skriptdatei des Pakets einen anderen Lizenztext als die Skriptdatei desselben Pakets in der öffentlichen nuget.org-Galerie. Dieser Textunterschied kann verhindern, dass Paketaktualisierungen durchgeführt werden, da die unterschiedlichen Lizenztextblöcke dazu führen, dass die Skriptdateien unterschiedliche Hash-Werte für den Inhalt haben (und daher als innerhalb des Projekts geändert behandelt werden).
Um dieses Problem auszugleichen, erlaubt NuGet 2.7.2 dem Skriptautor, den Lizenztextblock in einen speziell gekennzeichneten Abschnitt aufzunehmen, der wie folgt aussieht.
/************** NUGET: BEGIN LICENSE TEXT **************
* The following code is licensed under the MIT license
* Additional license information below is informational
* only.
************** NUGET: END LICENSE TEXT ***************/
Bei der Aktualisierung von Paketen mit Inhaltsdateien, die diesen Block enthalten, bezieht NuGet den Inhalt des Blocks nicht in den Vergleich mit der Version in der NuGet-Galerie mit ein und kann daher die Inhaltsdatei löschen und aktualisieren, als ob sie mit der ursprünglichen Kopie übereinstimmen würde.
Dieser Block ist gekennzeichnet durch den Text „NUGET: BEGIN LICENSE TEXT“ und „NUGET: END LICENSE TEXT“, die an beliebiger Stelle in der Anfangs- und Endzeile stehen. Es gibt keine weiteren Formatierungsanforderungen, so dass diese Funktion in jeder Art von Textdatei unabhängig von der Sprache verwendet werden kann.
Bei Assemblys, die Teil des .NET Framework sind, überspringt NuGet das Hinzufügen von Bindungsumleitungen in die Konfigurationsdatei der Anwendung, wenn das Paket aktualisiert wird. Dieser Fix behebt eine Regression in NuGet 2.7, durch die Bindungsumleitungen für einige Assemblys nicht hinzugefügt wurden, obwohl diese Assemblys nicht als Teil des .NET Frameworks betrachtet werden. NuGet 2.7.2 stellt das vorherige Verhalten von NuGet 2.5 und 2.6 wieder her und fügt die verbindlichen Umleitungen hinzu.
Wenn die Xamarin-Entwicklungstools auf einem Rechner installiert werden, ändern sie die Konfigurationsdaten für die unterstützten Frameworks, um die Kompatibilität zwischen bestehenden Zielframework-Kombinationen und Xamarin-Frameworks festzulegen. Mit Version 2.7.2 kennt NuGet nun diese impliziten Kompatibilitätsregeln und macht es daher Entwicklern, die auf Xamarin-Plattformen abzielen, leicht, protierbare Bibliotheken zu installieren, die zwar Xamarin-kompatibel sind, aber in den Paket-Metadaten selbst nicht explizit als solche gekennzeichnet sind.
Bei der Verwendung von hierarchischen Nuget.Config-Dateien wurde der Schlüssel repositoryPath für Nuget.Config-Dateien, die dem Stammverzeichnis der Lösung am nächsten liegen, nicht beachtet. In Visual Studio 2013 installiert NuGet eine benutzerdefinierte Nuget.Config-Datei unter %ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config, um die Paketquelle „Microsoft und .NET“ hinzuzufügen. Daher bestand der Workaround für die Verwendung eines benutzerdefinierten repositoryPath in einer Lösung darin, die Nuget.Config auf Maschinenebene zu löschen – was auch bedeutete, die Paketquelle „Microsoft und .NET“ zu entfernen.. NuGet 2.7.2 beachtet jetzt die Vorrangregeln für repositoryPath bei der Verwendung von hierarchischen Nuget.Config-Dateien.
Eine vollständige Liste der Arbeitselemente, die in NuGet 2.7.2 behoben wurden, sehen Sie hier [NuGet Issue Tracker for this release](https://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%202.7.2&assignedTo=All&component=All&sortField=LastUpdatedDate&sortDirection=Descending&page=0&reasonClosed=Fixed)
.