VS2015 – Le paquetage ‘NuGetPackage’ ne s’est pas chargé correctement

Il suffit d’ouvrir VS 2015 Enterprise RTM, d’ouvrir un projet de travail existant et d’obtenir l’erreur suivante:


Microsoft Visual Studio


Le package ‘NuGetPackage’ ne s’est pas chargé correctement.

Le problème peut avoir été causé par un changement de configuration ou l’installation d’une autre extension. Vous pouvez obtenir plus d’informations en examinant le fichier C:\Users\REDACTED\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml .

Le redémarrage de Visual Studio pourrait aider à résoudre ce problème.

Continuer à afficher ce message d’erreur?


[Oui Non]


Le redémarrage n’a pas aidé. J’ai examiné le fichier journal et trouvé les sections suivantes relatives à nuget:

  555 2015/07/20 16:06:34.364 Error Extension Manager Extension will not be loaded because an extension with the same ID 'Microsoft.Dev14.VsixTemplatesPackage.443cca91-ec20-41e5-a165-f28e56b89650' is already loaded at C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\ EXTENSIONS\G2URSPAC.VAZ\... C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\ NUGETIFIEDEXTENSIBILITYTEMPLATES\   556 2015/07/20 16:06:34.364 Error Extension Manager Extension will not be loaded because an extension with the same ID 'Microsoft.VisualStudio.TeamFoundation.TeamExplorer.Extensions' is already loaded at C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\ B1NUOYPH.H2N\... C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\COMMONEXTENSIONS\ MICROSOFT\TEAMFOUNDATION\TEAM EXPLORER\  

Ce qui suggère une extension en double, mais cela ne semble pas être le cas dans le gestionnaire d’extensions.

Ceci est sur une machine sur laquelle VS2013 est également installé. Aucune des versions preview / RC de VS2015 n’a été installée.

Supprimer complètement NuGet via Extensions et Updates, redémarrer VS puis réinstaller NuGet via Extensions et Updates a résolu le problème pour moi. Une réinstallation complète du VS n’était pas nécessaire.

La mise à jour de Nuget vers la dernière version semble avoir résolu le problème.

  1. Outils> Extensions et mises à jour

  2. Mises à jour> Visual Studio Gallery

  3. Cliquez sur Mettre à jour dans l’option Nuget Package Manager

Après une installation complètement propre de Visual Studio Professional 2015 à partir du site Web MSDN, j’ai exécuté VS2015 en tant qu’administrateur, ouvert la console du gestionnaire de packages depuis Tools -> NuGet Package Manager... -> Package Manager Console et j’ai reçu cette erreur:

 "Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of Unressortingcted. Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more information please see "Get-Help Set-ExecutionPolicy" 

En suivant les étapes ci-dessus pour

1) Utilisez Tools -> Extensions and Updates... à Tools -> Extensions and Updates... pour désinstaller NuGet Package Manager for Visual Studio 2015 .

2) Redémarrez Visual Studio.

3) Utilisez Tools -> Extensions and Updates... à Tools -> Extensions and Updates... pour réinstaller NuGet Package Manager for Visual Studio 2015 .

4) Redémarrez Visual Studio.

Maintenant, lorsque j’ouvre la console du gestionnaire de paquets, Powershell se charge correctement et tout va bien. Merci beaucoup pour cela!

Garder à l’esprit

Une réinstallation du gestionnaire de packages NuGet ne semble pas supprimer le fichier NuGet.Config existant contenu dans c: \ users \ name \ AppData \ Roaming \ NuGet!

La mienne avait une section ‘packageSources’ manquante (pourquoi, je ne sais pas) mais comme ce fichier n’a pas été recréé, NuGet ne fonctionnait toujours pas!

Donc, soit entrez manuellement cette section ou supprimez ce fichier de configuration, puis réinstallez NuGet via les extensions et les mises à jour qui en recréeront une nouvelle!

La suppression de tous les fichiers de ce dossier C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\imf5jbeu.eak semble avoir fonctionné pour moi.

Il semble que nuget dans VS2015 soit configuré pour afficher uniquement les paquets Microsoft. Pour pouvoir rechercher tous les paquets dans nuget.org, allez dans Outils> Options> Gestionnaire de paquets NuGet> Sources de package, cliquez sur Ajouter, mettez nuget.org comme Nom et https://www.nuget.org/api/v2/ comme Source. , puis cliquez sur OK. Maintenant, dans Nuget Package Manager, vous pouvez sélectionner nuget.org (ou All) comme source de package et vous pourrez rechercher tous les packages (pas seulement ceux provenant de Microsoft).

J’ai eu le même problème et l’ai résolu avec la solution déjà mentionnée, mais j’ai eu besoin de plus de tentatives. Il est nécessaire de redémarrer complètement VS après la désinstallation et l’installation de l’extension NuGetPackage et sur mon système, cela ne fonctionnait pas tant que je n’avais pas fermé ma solution ouverte. Espérons que l’extension NuGetPackage deviendra plus stable dans un avenir proche.

Lors de la mise à niveau de projets avec des packages nuget de Vx20XX à VS2015, vous pourriez rencontrer des problèmes avec les packages nuget.

Exemple de message d’erreur: Ce projet fait référence à des packages NuGet manquants sur cet ordinateur. Activez NuGet Package Restore pour les télécharger. Pour plus d’informations, voir http://go.microsoft.com/fwlink/?LinkID=322105 .

J’ai corrigé mon problème en écrivant un petit programme qui fait la restauration du paquet MSBuild-Integrated vs Restauration automatique du paquet

Vous pouvez télécharger l’exécutable de l’outil ici .

S’il vous plaît laissez-moi savoir le résultat 🙂 !

Capture d'écran de l'outil

Code comme référence:

              Root directory of projects               using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Forms; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Xml; using System.Xml.Linq; using Application = System.Windows.Application; using MessageBox = System.Windows.MessageBox; ///  /// Applying recommanded modifications in section : "MSBuild-Integrated package restore vs. Automatic Package Restore" /// of : http://docs.nuget.org/Consume/Package-Restore/Migrating-to-Automatic-Package-Restore ///  namespace FixNuGetProblemsInVs2015 { ///  /// Interaction logic for MainWindow.xaml ///  public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DirProjects.Text = @"c:\prj"; // DirPackages.Text = @"C:\PRJ\NuGetPackages"; } private void BrowseDirProjectsOnClick(object sender, RoutedEventArgs e) { FolderBrowserDialog dlg = new FolderBrowserDialog(); dlg.SelectedPath = DirProjects.Text; if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { DirProjects.Text = dlg.SelectedPath; } } //private void BrowseDirPackagesOnClick(object sender, RoutedEventArgs e) //{ // FolderBrowserDialog dlg = new FolderBrowserDialog(); // dlg.SelectedPath = DirPackages.Text; // if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) // { // DirPackages.Text = dlg.SelectedPath; // } //} // private ssortingng _dirPackages; private void ButtonFixOnClick(object sender, RoutedEventArgs e) { DoJob(false); } private void ButtonRevertOnClick(object sender, RoutedEventArgs e) { DoJob(true); } private void DoJob(bool revert = false) { TxtLog.Text = ""; ssortingng dirProjects = DirProjects.Text; // _dirPackages = DirPackages.Text; if (!Directory.Exists(dirProjects)) { MessageBox.Show("Projects directory does not exists: " + dirProjects); return; } //if (!Directory.Exists(_dirPackages)) //{ // MessageBox.Show("Packages directory does not exists: " + _dirPackages); // return; //} RecurseFolder(dirProjects, revert); } private void RecurseFolder(ssortingng dirProjects, bool revert = false) { if (revert) { Revert(dirProjects); } else { FixFolder(dirProjects); } foreach (ssortingng subfolder in Directory.EnumerateDirectories(dirProjects)) { RecurseFolder(subfolder, revert); } } private const ssortingng BackupSuffix = ".fix_nuget_backup"; private void Revert(ssortingng dirProject) { foreach (ssortingng filename in Directory.EnumerateFiles(dirProject)) { if (filename.ToLower().EndsWith(BackupSuffix)) { ssortingng original = filename.Subssortingng(0, filename.Length - BackupSuffix.Length); if (File.Exists(original)) { File.Delete(original); } File.Move(filename, original); Log("File reverted: " + filename + " ==> " + original); } } } private void FixFolder(ssortingng dirProject) { BackupFile(System.IO.Path.Combine(dirProject, "nuget.targets")); BackupFile(System.IO.Path.Combine(dirProject, "nuget.exe")); foreach (ssortingng filename in Directory.EnumerateFiles(dirProject)) { if (filename.ToLower().EndsWith(".csproj")) { FromProjectFileRemoveNugetTargets(filename); } } } private void BackupFile(ssortingng path) { if (File.Exists(path)) { ssortingng backup = path + BackupSuffix; if (!File.Exists(backup)) { File.Move(path, backup); Log("File backup: " + backup); } else { Log("Project has already a backup: " + backup); } } } private void FromProjectFileRemoveNugetTargets(ssortingng prjFilename) { XDocument xml = XDocument.Load(prjFilename); List elementsToRemove = new List(); foreach (XElement element in xml.Descendants()) { if (element.Name.LocalName == "Import") { var att = element.Atsortingbute("Project"); if (att != null) { if (att.Value.Contains("NuGet.targets")) { elementsToRemove.Add(element); } } } if (element.Name.LocalName == "Target") { var att = element.Atsortingbute("Name"); if (att != null && att.Value == "EnsureNuGetPackageBuildImports") { elementsToRemove.Add(element); } } } if (elementsToRemove.Count > 0) { elementsToRemove.ForEach(element => element.Remove()); BackupFile(prjFilename); xml.Save(prjFilename); Log("Project updated: " + prjFilename); } } private void Log(ssortingng msg) { TxtLog.Text += msg + "\r\n"; } } } 

Allez dans:

Outils
Extensions et mises à jour

Insérez dans le champ de recherche du Nuget Package Manager et configurez-le (configuration complète).

Après cela, vous aurez la gestion des paquets Nuget dans la section Outils.

J’ai trouvé ceci sur google, j’ai eu une erreur similaire: le paquetage ‘NuGetPackage’ ne s’est pas chargé correctement.

Une erreur s’est produite lors de la lecture du fichier xxx. Il existe des packages en double.

Vérifiez le fichier packages.config dans chaque projet et supprimez-y la ligne de package en double.

Redémarrer Visual Studio (2017) a résolu ce problème pour moi.