web-dev-qa-db-fra.com

Échec de l'ouverture du projet dans Visual Studio en raison d'une erreur nuget.targets introuvable.

J'ai donc téléchargé Twitterizer à partir de http://www.twitterizer.net/downloads/

J'essaie de l'ouvrir dans Visual Studio et d'obtenir toutes ces erreurs de pépite:

The imported project "C:\Twitterizer\.nuget\nuget.targets" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file 
exists on disk.

Que se passe-t-il. Comment puis-je gérer cela?

101
Barka
  1. Installez Nuget.
  2. Faites un clic droit sur la solution et sélectionnez "Activer la restauration du paquet NuGet". Dans Visual Studio 2013 et versions ultérieures, sélectionnez plutôt "Restaurer les packages NuGet".
  3. Cliquez sur Ok dans l'avertissement.
  4. Fermez et rouvrez la solution.

Devrait maintenant être Hunky Dory.

169
Frank Hagenson

Une alternative consiste à éditer le fichier .csproj avec un éditeur de texte et à supprimer ou commenter le segment.

22
MeanGreen

Cette erreur se produit normalement lorsque vous essayez d'ouvrir un fichier .csproj directement, pas à travers le fichier de solution, et le .csproj importe les cibles Nuget comme ceci:

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />

Pour le résoudre, vous pouvez soit ouvrir le .sln et pas le .csproj directement ... ou supprimez la ligne import ci-dessus.

Notez que l'erreur mentionnée ne se produira que si vous utilisez solution wise restauration du paquet, qui n’est même plus recommandée.

14
André Pena

Je sais que je suis en retard à la fête, mais voici un très bon tutoriel sur la façon de résoudre ce problème. J'ai utilisé cela pour réparer mon projet.

Fermer Visual Studio Si la solution que vous tentez de migrer est ouverte dans Visual Studio, les modifications risquent d'être perdues. Dans certains cas, Visual Studio peut écraser/ignorer vos modifications et l'extension NuGet tentera également de réactiver la restauration du package lorsqu'elle verra que certains projets de la solution ne le sont pas.

Si vous utilisez TFS Supprimez les fichiers NuGet.exe et NuGet.targets du dossier .nuget de la solution. Assurez-vous que les fichiers eux-mêmes sont également supprimés de l'espace de travail de la solution. Conservez le fichier NuGet.Config pour continuer à contourner l'ajout de packages au contrôle de source. Modifiez chaque fichier de projet (par exemple, .csproj, .vbproj) dans la solution et supprimez toute référence au fichier NuGet.targets. Ouvrez le ou les fichiers du projet dans l'éditeur de votre choix et supprimez les paramètres suivants:

vrai ... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

leur. Pour plus d'informations, voir http://go.Microsoft.com/fwlink/?LinkID=322105 . Le fichier manquant est {0}. Si vous n'utilisez pas TFS, supprimez le dossier .nuget de votre solution. Assurez-vous que le dossier lui-même est également supprimé de l'espace de travail de la solution. Modifiez chaque fichier de projet (par exemple, .csproj, .vbproj) dans la solution et supprimez toute référence au fichier NuGet.targets. Ouvrez le ou les fichiers du projet dans l'éditeur de votre choix et supprimez les paramètres suivants:

vrai ... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

leur. Pour plus d'informations, voir http://go.Microsoft.com/fwlink/?LinkID=322105 . Le fichier manquant est {0}. Script de migration De nombreux utilisateurs ont demandé à un outil de migration de désactiver la restauration de package basée sur MSBuild et de la convertir en restauration automatique de package. L’équipe de NuGet a décidé de ne pas fournir d’outil pris en charge à cet effet en raison de la forte probabilité que les cas Edge ne soient pas traités. Cependant, Owen Johnson a créé un script PowerShell qui peut fonctionner dans de nombreux cas. Il est disponible sur GitHub et peut être utilisé à vos risques et périls. En d'autres termes, assurez-vous de vous engager dans le contrôle de code source avant de l'exécuter, juste au cas où cela ne fonctionnerait pas dans votre scénario.

Fix Nuget.target

2
JEuvin

Je viens de rencontrer le même problème, mais dans mon cas, le problème était un espace dans le nom du dossier:

Nuget me disait qu'il ne pouvait pas trouver "C:\git\My Path" mais j'ai pu naviguer vers "C:\git\My% 20Path". La suppression de l’espace dans le nom de dossier "corrige" le problème.

2
Joe Zack

Quand j'aurai le nuget.targets not found erreur j'utilise le gestionnaire de paquets pour uninstall-package un des packages du projet, puis réinstallez-le en utilisant install-package. On dirait qu’il régénère ensuite le fichier nugets.target.

1
Micah

La solution la plus simple lorsque vous obtenez cette erreur afin de restaurer le NuGet.targets Manquant dans l'Explorateur de solutions Visual Studio consiste à:

  1. clic droit sur le fichier de solution
  2. Dans le menu contextuel, cliquez sur l'option "Activer la restauration du package Nuget ...".

cela téléchargera les fichiers manquants dans le dossier ".nuget" :)

Ce qui précède suppose que Nuget est déjà installé - sinon, suivez la réponse acceptée ci-dessus!

PDATE: Veuillez noter que pour les versions de Visual Studio supérieures à 2013, l'option s'appelle "Restaurer les packages NuGet"

1
Emil