J'ai une application ASP.NET MVC5 qui a fonctionné hier et maintenant j'obtiens cette erreur quand j'essaye de construire:
Ce projet fait référence aux packages NuGet manquants sur cet ordinateur.
J'ai les deux options vérifiées qui permettent à nuget de télécharger et d'installer automatiquement les packages manquants cochés / activés. J'ai également essayé de supprimer tous les fichiers du dossier des packages, puis de les télécharger à nouveau. De plus, lorsque j'ouvre nuget et cherche des mises à jour, il est dit qu'il n'y en a pas à installer. Je ne sais pas quoi faire d'autre pour aller au-delà de ce problème incroyablement ennuyeux.
visual-studio-2010
visual-studio
msbuild
nuget
Austin Harris
la source
la source
The operation has timed out.
erreur. pendant la construction. Vous devez vérifier votre journal de génération ou l' onglet Diagnostics dans l'écran d'informations de Visual Studio Online Build Failed.Réponses:
Dans mon cas, j'ai dû supprimer les éléments suivants du fichier .csproj:
En fait, dans cet extrait, vous pouvez voir d'où vient le message d'erreur.
Je convertissait de MSBuild-Ensemble intégré de restauration à forfait restauration automatique ( http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore )
la source
Une solution consisterait à supprimer du fichier .csproj les éléments suivants:
Comment?
la source
Dans mon cas, cela s'est produit après avoir déplacé mon dossier de solution d'un emplacement à un autre, l'ai un peu réorganisé et, dans le processus, sa structure de dossiers relative a changé.
J'ai donc dû modifier toutes les entrées similaires à la suivante dans mon
.csproj
fichier à partir deà
(Notez le changement de
..\packages\
àpackages\
. Il peut s'agir d'une structure relative différente dans votre cas, mais vous avez l'idée.)la source
.csproj
rapport à votre.sln
n'a pas d'importance dans ce contexte. Ce qui importe, c'est de savoir si tout ce qui est référencé dans votre document.csproj
a déménagé ailleurs. Si c'est le cas, vous devez le réparer. Si vous avez déplacé votre '.csproj' avec tout ce qu'il fait référence, mais que vous avez conservé votre.sln
emplacement, vous devez alors corriger le.sln
fichier au nouvel emplacement de.csproj
-es, mais il ne sera pas nécessaire de modifier les.csproj
fichiers.Je résous facilement ce problème en cliquant avec le bouton droit sur ma solution, puis en cliquant sur Activer la restauration du package NuGet l' option
(PS: assurez-vous que Nuget Install From Tools -> Extensions and Update -> Nuget Package Manager for Visual Studio 2013. Sinon, installez d'abord cette extension)
J'espère que ça aide.
la source
MSBuild-Integrated Package Restore
. C'est l'ancienne méthode et elle énumère quelques raisons pour lesquelles vous devriez utiliser la nouvelle méthode.Dans mon cas, cela avait à voir avec la version Microsoft.Build.Bcl. La version de mon nuget était 1.0.21, mais mes fichiers de projet pointaient toujours vers la version 1.0.14
J'ai donc changé mes fichiers .csproj de:
à:
Et la version fonctionnait à nouveau.
la source
Si vous utilisez TFS
Supprimez les fichiers
NuGet.exe
et duNuGet.targets
dossier de la solution.nuget
. Assurez-vous que les fichiers eux-mêmes sont également supprimés de l'espace de travail de la solution. Conservez leNuGet.Config
fichier pour continuer à contourner l'ajout de packages au contrôle de code source.Modifiez chaque fichier de projet (par exemple, .csproj, .vbproj) dans la solution et supprimez toutes les références au
NuGet.targets
fichier. Ouvrez le ou les fichiers de projet dans l'éditeur de votre choix et supprimez les paramètres suivants:Si vous n'utilisez pas TFS
Supprimez le
.nuget
dossier 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 toutes les références au
NuGet.targets
fichier. Ouvrez le ou les fichiers de projet dans l'éditeur de votre choix et supprimez les paramètres suivants:Référence: Migration de solutions intégrées à MSBuild pour utiliser la restauration automatique de packages
la source
Est-il possible que les packages aient été restaurés dans le mauvais dossier? Vérifiez que les chemins d'accès dans les fichiers csproj sont corrects.
S'ils sont différents, cela peut être dû au fait que les packages sont maintenant restaurés vers un emplacement différent. Cela peut être dû à la vérification d'un fichier NuGet.Config en spécifiant un nœud comme celui-ci:
Les paquets sont en cours de restauration, par les projets sont toujours à la recherche de l'ancien emplacement.
la source
J'ai eu le même problème. Dans mon cas, l'installation du package Microsoft.Bcl.Build a résolu le problème.
la source
1.0.21
version aucun fichier dans le package, l'installation de la1.0.14
version a corrigé ce problème.Suppression des lignes ci-dessous dans le fichier .csproj
la source
Une solution consisterait à supprimer du fichier .csproj les éléments suivants:
Ce projet fait référence aux 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 . Le fichier manquant est {0}.
la source
Voici les étapes que j'ai utilisées pour résoudre le problème:
Pour ajouter des packages nuget à votre solution:
la source
Pour moi, cela a fonctionné car je viens de copier un dossier .nuget d'une solution de travail vers la solution existante et de référencer son contenu!
la source
La première chose à essayer est de cliquer avec le bouton droit sur la solution et de sélectionner "Restaurer les packages Nuget".
Dans mon cas, cela n'a pas fonctionné, j'ai donc suivi quelques recommandations sur la suppression de "Import" et "Target" dans le fichier de projet, cela a fonctionné pour 2 de mes 3 projets, mais j'ai obtenu une erreur différente sur le dernier.
Ce qui a fonctionné était d'ouvrir la console du gestionnaire de packages et d'exécuter:
Cela prend un certain temps, mais comme il réinstalle tous les packages, votre projet se compilera sans problème
la source
J'ai le même problème. Je l'ai rencontré lorsque j'ai copié un projet existant et l'ai transféré sur le dossier de mon répertoire de solution et l'ai ajouté en tant que projet existant à ma solution vide. Je dois donc modifier mon fichier csproj et rechercher cette ligne de code spécifique, la plupart du temps, elle se trouve sur les dernières lignes:
Après cette ligne, je dois commenter ces derniers:
Votre solution vous demandera s'il y a eu un changement sur votre projet, sélectionnez simplement Recharger tout:
Ensuite, tout fonctionne bien après avoir reconstruit ma solution.
la source
J'ai eu le même problème lorsque je référence la bibliothèque de classes dans mon application Web MVC,
le problème était la non-concordance du numéro de version du package nuget entre deux projets.
ex: ma bibliothèque de classe avait log4net de 1.2.3 mais ma webapp avait 1.2.6
correction: assurez-vous simplement que le projet a le même numéro de version référencé.
la source
La modification de .sln et .csproj n'est pas toujours aussi simple ou souhaitable. Une fois que vous obtenez la liste d'erreurs, vous pouvez voir quels projets ont des packages manquants (également, le nœud Références indique généralement qu'il manque des assemblys, sauf si les packages sont du code source, des ressources, des images ou simplement du texte).
La suppression puis l'ajout des packages n'est pas une bonne idée, sauf si vous utilisez la dernière version du package. Sinon préparez-vous à des surprises, pas toujours agréables.
Si, par exemple, le package est EntityFramework, la galerie NuGet vous donne la dernière version qui, au moment de la rédaction de ce commentaire, est 6.1.3 .
Donc, peut-être que le moyen le plus sûr de gérer la situation est de restaurer les packages manquants un par un. Oui, un exercice un peu pénible, mais chasser les bogues subtils en raison de la version différente du package peut-être beaucoup plus désagréable.
Cela dit, et laissez EntityFramework être le package manquant, vous pouvez exécuter la commande suivante dans la console du gestionnaire de packages:
Cela installera la version correcte, c'est-à-dire 6.0.1 , qui est celle qui est spécifiée dans packages.config:
la source
J'ai eu cela quand les fichiers csproj et sln étaient dans le même dossier (stupide, je sais). Une fois que je suis passé au fichier sln dans le dossier au-dessus du dossier csproj mon so
la source
J'ai créé un dossier nommé '.nuget' dans le dossier racine de la solution, puis ajouté le fichier 'NuGet.Config' dans ce dossier avec le contenu suivant
Puis créé le fichier '.nuGet.targets' comme ci-dessous $ (MSBuildProjectDirectory) .. \
la source