web-dev-qa-db-fra.com

Comment activer la restauration de package Nuget dans Visual Studio 2015?

Comment activer la fonctionnalité de restauration de paquet de nuget dans Visual Studio 2015?

La fonctionnalité manque tout simplement dans mon menu contextuel (oui, j'ai vérifié deux fois que je l'essaie sur la solution plutôt que sur un projet)

Mon seul projet est une application console .NET 4.5 - il n’existe pas encore de dossier .nuget. Un paquet Nuget est installé.

50
boop

J'ai eu le même problème que vous et sa solution consistait à supprimer le dossier packages de ma solution et également les dossiers bin et obj de chaque projet de la solution et de le reconstruire.

55
Martin Shishkov

En réalité, la vraie solution consiste à migrer vers la restauration automatique du paquet . Nous avons rencontré des problèmes avec NuGet après la mise à niveau vers VS 2015 après avoir travaillé pendant un certain temps en 2013. Il s'avère que l'ancienne façon de faire de NuGet rend complètement la nouvelle manière de le faire.

La solution est simple, bien que fastidieuse. Apparemment, le fichier NuGet.targets signale à VS d’utiliser l’ancienne façon de faire de NuGet, et son absence signifie que vous utilisez maintenant "Restauration automatique de paquet". Vous pouvez migrer vers la restauration automatique de package en procédant comme suit:

  1. Supprimer .nuget/NuGet.exe
  2. Supprimer .nuget/NuGet.targets
  3. Pour chaque projet:
    1. Décharger le projet
    2. Clic droit -> Modifier le projet
    3. Supprimez toutes les références au fichier NuGet.targets, à savoir:
<RestorePackages>true</RestorePackages>  
...
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />  
...
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">  
    <PropertyGroup>
        <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>

Il existe également un script PowerShell qui effectuera la migration pour vous, si vous vous sentez audacieux. Vous pouvez le trouver sur github .

37
BinaryTox1n

Pour d'autres, cette option est disponible dans la section Paramètres du nuget dans les options de Visual Studio.

enter image description here

5
Eric Herlitz

Mon Visual Studio 2015 Professional a été installé avec les paramètres par défaut. Les options "Autoriser NuGet à télécharger les packages manquants" et "Rechercher automatiquement les packages manquants lors de la construction dans Visual Studio" étaient déjà cochées par défaut, mais je ne pouvais toujours pas télécharger les packages. Je recevais une erreur qu'une version du paquet n'a pas pu être trouvée.

Je devais cliquer sur une case à cocher sous Outils> Options> Gestionnaire de paquets NuGet> Sources de paquet pour permettre à NuGet Package Restore de fonctionner comme prévu.

 enter image description here

2
laylarenee

J'ai eu un problème avec la restauration du paquet avec l'erreur 401 non autorisée. J'ai trouvé la solution en décochant les sources de paquets locales disponibles. Débogage> Options> Gestionnaire de paquets NuGet> Sources de paquet

Autoriser uniquement les paquets nuget.org

2
Megha

entrez la description de l'image ici

Eh bien, c'est assez simple avec VS2015, tout ce que j'avais à faire était de cliquer avec le bouton droit de la souris sur la solution de mon projet et de cliquer sur le bouton Restaurer le fichier.

0
Milo Joe

J'ai eu un problème avec l'accès au dossier des packages après le démarrage de Visual Studio 2015 en mode Administrateur. Je l'ai donc supprimé dans l'intention d'effectuer une restauration.

Toutefois, aucune restauration n'a été effectuée lors de la reconstruction de la solution et aucun package de restauration n'a été trouvé au niveau de la solution ou dans la fenêtre Nuget.

Toutefois, si vous cliquez avec le bouton droit sur les nœuds Références des projets de la solution, l'option Restaurer les packages est proposée. En cours d'exécution sur tous les projets corrigé pour moi.

0
Daniel Persson