Notes de publication de NuGet 2.7.2
Notes de publication de NuGet 2.7.1 | Notes de publication de NuGet 2.8
NuGet 2.7.2 a été publié le 11 novembre 2013.
Depuis un certain temps, Microsoft inclut les packages NuGet de plusieurs bibliothèques open source populaires comme composants des modèles par défaut pour les projets d’applications Web dans Visual Studio. jQuery est probablement l’exemple le plus connu de ce type de bibliothèque. En raison de l’accord de support associé aux composants fournis avec un produit, le fichier script du package contient un texte de licence différent du fichier script trouvé dans le même package dans la galerie nuget.org publique. Cette différence dans le texte peut empêcher les mises à jour du package de continuer comme résultat des différents blocs de texte de licence qui entraînent la modification des fichiers scripts avec des valeurs de hachage de contenu différentes (et donc d’être traitées comme modifiées dans le projet).
Pour atténuer ce problème, NuGet 2.7.2 permet à l’auteur du script d’inclure le bloc de texte de licence dans une section spécialement marquée qui se présente comme suit.
/************** NUGET: BEGIN LICENSE TEXT **************
* The following code is licensed under the MIT license
* Additional license information below is informational
* only.
************** NUGET: END LICENSE TEXT ***************/
Lors de la mise à jour de packages avec des fichiers de contenu contenant ce bloc, NuGet ne factorise pas le contenu du bloc dans la comparaison avec la version de la galerie NuGet et peut donc supprimer et mettre à jour le fichier de contenu comme s’il correspond à la copie d’origine.
Ce bloc est identifié par le texte « NUGET : BEGIN LICENSE TEXT » et « NUGET : END LICENSE TEXT » qui se produisent n’importe où sur les lignes de début et de fin. Aucune autre exigence de mise en forme n’existe, ce qui permet à cette fonctionnalité d’être utilisée dans n’importe quel type de fichier texte, quelle que soit la langue.
Pour les assemblys qui font partie de .NET Framework, NuGet ignore l’ajout de redirections de requêtes BIND dans le fichier de configuration de l’application lors de la mise à jour du package. Ce correctif traite d’une régression dans NuGet 2.7 par lequel les redirections de requêtes BIND n’étaient pas ajoutées pour certains assemblys, même si ces assemblys ne sont pas considérés comme faisant partie du .NET Framework. NuGet 2.7.2 restaure le comportement de NuGet 2.5 et 2.6 précédent et ajoute les redirections de requêtes BIND.
Lorsque les outils de développement de Xamarin sont installés sur un ordinateur, ils modifient les données de configuration des frameworks pris en charge pour spécifier la compatibilité entre les combinaisons des versions cibles de .Net Framework existantes et les cadres Xamarin. Avec la version 2.7.2, NuGet est maintenant conscient de ces règles de compatibilité implicites et permet aux développeurs de cibler facilement les plateformes Xamarin pour installer des bibliothèques portables compatibles avec Xamarin, mais non explicitement marquées comme telles dans les métadonnées du package proprement dites.
Lors de l’utilisation de fichiers Nuget.Config hiérarchiques, la clé repositoryPath n’était pas respectée pour les fichiers Nuget.Config les plus proches de la racine de la solution. Dans Visual Studio 2013, NuGet installe un fichier Nuget.Config personnalisé sur %ProgramData%\NuGet\Config\VisualStudio\12.0\Microsoft.VisualStudio.config afin d’ajouter la source de package « Microsoft et .NET ». Par conséquent, l’utilisation d’un repositoryPath personnalisé dans une solution consistait à supprimer nuget.Config au niveau de l’ordinateur, ce qui signifiait également la suppression de la source de package « Microsoft et .NET ». NuGet 2.7.2 respecte désormais les règles de précédence pour repositoryPath lors de l’utilisation de fichiers Nuget.Config hiérarchiques.
Pour obtenir la liste complète des éléments de travail corrigés dans NuGet 2.7.2, veuillez consulter le fichier [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)
.