J'essaie d'utiliser nopCommerce (qui est écrit en .NET Core) mais lorsque je veux exécuter le projet, je fais face à 52 erreurs me disant Exécuter une restauration de package nuget
Fichier d'actifs ~ \ obj \ project. assets.json ' introuvable. Exécutez une restauration de package NuGet pour générer ce fichier. Nop.Web.MVC.Testsote
lorsque j'utilise le clic droit sur la solution et en sélectionnant Restaurer les packages Nuget, je reçois ce message:
Tous les packages sont déjà installés et il n'y a rien à restaurer.
mais ces 52 erreurs sont toujours là et dans Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution il n'y a rien installé sur la solution, aussi j'ai récemment mis à jour mon VS2017 vers 15.5.4
nuget
visual-studio-2017
.net-core
nuget-package-restore
Ne jamais faire confiance
la source
la source
Réponses:
Pour corriger cette erreur dans Outils> Gestionnaire de packages NuGet> Console du gestionnaire de packages, exécutez simplement:
L'erreur se produit car le dotnet cli ne crée pas initialement tous les fichiers requis. La restauration dotnet ajoute les fichiers requis.
la source
dotnet restore solutionfilename.sln
Dans mon cas, l'erreur était le référentiel GIT. Il y avait des espaces dans le nom, rendant mon projet incapable de restaurer
Si c'est votre problème, renommez simplement le référentiel GIT lorsque vous clonez
la source
Dans le cas où la «restauration dotnet» ne fonctionne pas, les étapes suivantes peuvent aider:
la source
dotnet restore
fonctionné.La fermeture et la réouverture de Visual Studio ont résolu ce problème pour moi, une fois que je m'étais assuré que les packages NuGet avaient été restaurés conformément aux autres réponses publiées ici.
la source
get
etbuild
et vous n'ouvrez pas VS. Je sais pourquoi cela fonctionne avec VS - parce que VS résout automatiquement les dépendances du projet.Pour ceux qui ont le même problème que moi dans l'environnement Azure DevOps / VSTS rencontrant un message similaire:
C:\Program Files\dotnet\sdk\2.2.104\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5): Error NETSDK1004: Assets file '...\obj\project.assets.json' not found. Run a NuGet package restore to generate this file
Ajoutez
/t:Restore
à vos arguments MSBuild dans Build Solution.la source
Pour moi, quand je l'ai fait - une erreur de restauration dotnet était toujours en cours.
je suis allé à
problèmes résolus.
la source
Dans Visual Studio 2017, veuillez suivre les étapes suivantes:
1) sélectionnez Tool => Options => NuGet Package Manager => Package Sources puis décochez l'option Microsoft Visual Studio Offline Packages .
2) ouvrez maintenant Tool => NuGet Package Maneger => Package Manager Console. 3) exécuter la commande dans PM> dotnet restore.
J'espère que ça marche ...
la source
Pour moi, j'ai mis à niveau NuGet.exe de 3.4 à 4.9 car 3.4 ne comprend pas comment restaurer des packages pour .NET Core.
Pour plus de détails, veuillez consulter la restauration dotnet contre la restauration nuget avec teamcity
la source
.csproj
format de projet.Sélectionnez Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages
Et puis exécutez:
la source
un peu tard pour la réponse mais semble que cela va ajouter de la valeur. En regardant l'erreur - elle semble se produire dans le pipeline CI / CD.
L'exécution de "dotnet build" sera suffisante.
La construction dotnet exécute la "restauration" par défaut.
la source
Rien au-dessus n'a fonctionné pour moi. Mais la suppression de tous les dossiers «bin» et «obj» a fait l'affaire.
la source
Résolu en ajoutant / t: Restore; Build to MSBuild Arguments
la source
Lorsque vous utilisez VSTS, vérifiez votre fichier global.json. J'avais entré la version sdk en tant que "2.2", ce qui a provoqué une erreur d'analyse (mais pas lors de la construction locale). L'ajout de la version complète, "2.2.104" a résolu le problème.
la source
J'ai perdu plusieurs heures sur cette erreur dans Azure DevOps lorsque j'ai défini la tâche 'Visual Studio Build' dans un pipeline de génération pour créer un projet individuel dans ma solution, plutôt que la solution entière.
Cela signifie que DevOps ne génère aucun (ou peut-être certains, je ne sais pas lequel) des projets référencés par le projet que vous avez ciblé pour la génération, et donc ces projets n'auront pas leur projet.json Les fichiers .asset générés, ce qui provoque ensuite ce problème.
La solution pour moi était de passer de l'utilisation de la tâche VS Build à la tâche MSBuild. L'utilisation de la tâche MSBuild pour un projet individuel génère correctement tous les projets référencés par le projet que vous générez et élimine cette erreur.
la source
Si cette erreur se produit dans le cadre d'une génération dans Azure DevOps (TFS) et que votre génération possède déjà une tâche de restauration NuGet , cette erreur peut indiquer que la tâche de restauration NuGet n'a pas pu restaurer tous les packages, en particulier si vous utilisez une source de package personnalisée ( comme un serveur NuGet interne). L'ajout
/t:Restore;Build
aux arguments MSBuild semble être un moyen de résoudre l'erreur, mais cela demande à MSBuild d'effectuer une opération de restauration NuGet supplémentaire. Je crois que cela réussit parce que MSBuild utilise la source de package personnalisée configurée dans Visual Studio. Une solution préférable consiste à corriger la tâche de restauration NuGet.Pour configurer une source de package personnalisé pour la tâche de restauration NuGet:
NuGet.config
fichier qui répertorie toutes les sources de package (packages hors ligne Microsoft Visual Studio, nuget.org et votre source de package personnalisé) et ajoutez-le au contrôle de code source.NuGet.config
./t:Restore;Build
option de la tâche MSBuild.Des informations supplémentaires sont disponibles ici .
la source
Si la simple restauration des packages NuGet ne fonctionne pas, assurez-vous dans Outils -> Options -> Gestionnaire de packages NuGet -> Général sous Restauration de package que la case "Autoriser NuGet à télécharger les packages manquants" est cochée.
Ensuite, restaurez les packages NuGet à nouveau OU reconstruisez simplement après la suppression des dossiers obj et bin.
la source
Si @ mostafa-Bouzari suggestion ne l' aide, vérifiez soigneusement dans les fenêtres pour les erreurs « liste d'erreur » ou « de sortie » pourquoi NuGet ne peut pas restaurer, par exemple en raison de problème net si vous êtes derrière proxy.
la source
Ce problème se produit lorsque votre outil de génération n'est pas configuré pour faire
restore
sur des projets configurés pour utiliserPackageReference
vspackages.config
et affecte principalement les projets de nouveau style Net Core et Netstandard.Lorsque vous ouvrez Visual Studio et générez, il résout cela pour vous. Mais si vous utilisez l'automatisation, les outils CLI, vous voyez ce problème.
De nombreuses solutions sont proposées ici. Mais tout ce dont vous avez besoin de vous souvenir, vous devez forcer
restore
. Dans certains cas, vous utilisezdotnet restore
avant la génération. Si vous construisez en utilisant MsBuild, ajoutez simplement un/t:Restore
commutateur à votre commande.En bout de ligne, vous devez voir pourquoi la restauration ne peut pas être activée. Soit source de nuget incorrecte ou action de restauration manquante, soit nuget.exe obsolète, ou tout ce qui précède.
la source
Expérience très étrange que j'ai rencontrée!
J'avais cloné avec GIT bash et GIT cmd-Line plus tôt, j'ai rencontré les problèmes ci-dessus.
Plus tard, j'ai cloné avec Tortoise-GIT et tout a fonctionné comme prévu.
C'est peut-être une réponse folle, mais essayer avec cela une fois peut vous faire gagner du temps!
la source
Vu après avoir ajouté un projet WinForms Core 3.1 (à partir de modèles de projet) sur VS-2019 vs 16.4.0 et essayé de l'exécuter hors de la boîte. Nettoyer ou reconstruire la solution entière n'a pas fonctionné.
Je viens de recharger ma solution .. c'est-à-dire File / Close Solution, puis de la rouvrir et de la reconstruire pour résoudre le problème.
la source
J'ai eu l'erreur lorsque j'ai créé un lambda dans le noyau dot net dans VS2017. Ce qui a fonctionné pour moi, c'est de décharger le projet et de le recharger.
la source
exécutez votre VS en tant qu'administrateur après cela dans la console du gestionnaire de packages, exécutez la restauration dotnet.
la source
Un autre, si par hasard vous utilisez Dropbox, vérifiez
Conflicted
les noms de fichiers, effectuez une recherche dans votre référentiel et supprimez tous ces fichiers en conflit.Cela peut se produire si vous avez déplacé les fichiers.
la source
Cause de ce défaut: vous devez supprimer le Nuget injecté dans l'explorateur de fichiers. Solution: Une fois que vous avez supprimé ce Nuget dans votre système, supprimez-le de l'emplacement suivant. sélectionnez Tool => Options => NuGet Package Manager => Package Sources puis décochez l'option Microsoft Visual Studio Offline Packages
la source
Cela a fonctionné pour moi: a ajouté cette source de package: Microsoft et .net https://www.nuget.org/api/v2/cured-feeds/microsoftdotnet/ puis exécutez "dotnet restore" dans la console
la source
Dans mon cas, j'ai eu un problème avec les sources de package disponibles. J'ai dû déplacer le dossier du référentiel de nuget local vers un nouveau chemin, mais je ne l'ai pas mis à jour dans les sources de package disponibles de Nuget. Lorsque j'ai corrigé le problème de chemin d'accès, mettez-le à jour dans les sources de package disponibles et après cela, tout (restauration de nuget, etc.) fonctionnait bien.
la source
Pour moi, cela s'est avéré être un problème de références de source nuget. J'avais récemment changé mon mot de passe pour accéder à un serveur Nexus et Visual Studio utilisait toujours l'ancien mot de passe lorsque j'essayais d'accéder à un nuget sur ce serveur via le gestionnaire d'informations d'identification Windows. Pour le corriger, j'ai dû supprimer l'entrée de ces informations d'identification obsolètes dans le gestionnaire d'informations d'identification et après, lorsque j'ai effectué une restauration de nuget, il m'a demandé un mot de passe me permettant d'entrer le nouveau mot de passe, qui a été enregistré à nouveau dans le gestionnaire d'informations d'identification. Vous pouvez accéder au gestionnaire d'informations d'identification à partir de la ligne cmd à l'aide de CmdKey.exe.
la source
Essayez ceci (cela a fonctionné pour moi):
la source
Vous pouvez opter pour: Outils> NuGet Package Manager> Package Manager Console
Et puis exécutez:
restauration dotnet
la source