web-dev-qa-db-fra.com

Système introuvable. Projet Visual Studio 2017 ASP.NET Core

J'ai installé la nouvelle version de Visual Studio 2017 et lancé un nouveau projet ASP.NET Core ciblant .NET Core.

Hors de la boîte, je reçois le

Impossible de trouver le type ou le nom de l'espace de noms 'System' (il manque une directive using ou une référence Assembly?)

erreur. Avez-vous une idée de ce qui cause cela et comment y remédier?

enter image description here

De plus, il semble que les paquets NuGet posent également des problèmes: enter image description here

J'ai également essayé la restauration de dotnet sur le projet par l'intermédiaire de la ligne de commande et ai obtenu l'erreur suivante: enter image description here

P.S. Quelque chose de décourageant que vous obteniez une erreur dans un nouveau projet dans la dernière version de Visual Studio 2017!

UPDATE: La version du SDK est v 1.0.1 - voir ci-dessous: enter image description here

MISE À JOUR 2: Ceci est très étrange. On dirait que le problème initial était dû à la source du paquet NuGet pointant vers un dossier sous le dossier Visual Studio 2015. Je l'ai décochée et je n'ai laissé que nuget.org. Avec cela, mon projet semblait avoir restauré tous les packages et lorsque je l'ai démarré, il a chargé la page ASP.NET standard. Mais si j'ouvre le fichier startup.cs, j'obtiens des squigglies rouges, mais si je lance le projet, cela fonctionne bien. Que se passe t-il ici? enter image description here

UPDATE 3: J'ai fermé le projet et VS 2017. J'ai ensuite redémarré VS 2017 et ouvert le projet et maintenant, tout semble aller pour le mieux. Et je ne fais pas référence à la bibliothèque .NETStandard 1.6.1 et tout semble bien fonctionner maintenant.

45
Sam

Je suis tombé sur le même problème aujourd'hui. J'avais une vieille source de pépites qui n'existait plus. Alors je suis allé dans Outils> Gestionnaire de paquets de Nuget et décoché le mauvais. Hit "Ok", puis reconstruit le projet, et cela fonctionne très bien maintenant. Il semble que vous ayez trébuché dessus mais que vous vouliez également vérifier que le problème a été résolu, et c’est le cas.

enter image description here

30
erbaker

J'ai eu le même problème dans mon application Visual Studio 2017 .Net Core. J'ai fermé le studio visuel et rouvert tout corrigé.

33
Swinkaran

J'ai eu le même problème, tout d'abord lors de la conversion d'un projet Web mvc net de base VS2015 en 2017, puis lors de la création d'une nouvelle application Web principale en 2017.

Nous sommes allés dans Outils | Gestionnaire de paquets NuGet | Paramètres du gestionnaire de paquets - coché 'Autoriser NuGet à télécharger les paquets manquants' et 'Vérifier automatiquement les paquets manquants lors de la création dans VS' puis cliqué sur 'Effacer tout le (s) cache (s) NuGet'.

Ensuite, reconstruisez la solution - elle a trouvé et chargé tous les packages requis et a exécuté OK.

Peut ne pas fonctionner dans tous les cas, mais simple et vaut la peine d'essayer.

18
David

( Multiple la fermeture et la réouverture de VS2017 l'a corrigé pour moi.

6
user378380

Vérifiez la version .NET Outils de ligne de commande dans CMD, tapez juste dotnet --info. Si version est 1.0.0, puis essayez d’installer la dernière version du Kit de développement .NET Core SDK à partir de here .

enter image description here

5
NDimo

J'ai eu le même problème, la solution pour moi était d'effacer le cache de NuGet. Outils> Gestionnaire de paquets NuGet> Paramètres du gestionnaire de paquets> Effacer tout le (s) cache (s) NuGet

3
BrendonC

Cette question semble être déclenchée par une multitude de raisons. Le mien a été causé par le clonage directement à partir de VSTS à l'aide de Git Bash, le répertoire de mon projet contenait des espaces. Git Bash a changé ces espaces dans le chemin en% 20. Cela a jeté toutes les références de mon projet. Donc, pour tous ceux qui ont tout essayé et qui sont à bout de ressources, assurez-vous que% 20 n'est pas dans le chemin.

1
Mike Davis

J'ai eu le même problème avec Visual Studio 2019 et .NET Core SDK 2.2.

Ces étapes ont résolu le problème:

  1. Fermer le Visual Studio
  2. Ouvrez le Visual Studio en tant qu'administrateur
  3. Ouvrez la solution
  4. Faites un clic droit sur Solution -> Restaurer les paquets NuGet
1
Momo

Avait le même problème. Désinstallation d'Application Insights de mes projets à l'aide du gestionnaire de paquets Nuget. Je ne regarde pas encore cela, je voulais juste des tests de base et des tests unitaires. Problème résolu.

0
Eric Graeb

Ouvrez simplement le gestionnaire de paquets NuGet, puis les paramètres de Visual Studio qui s'y rapportent - sans rien changer - en regardant simplement autour de moi, et lorsque je suis parti, le problème avait disparu.

Cela semble être un problème intermittent qui peut aller et venir sans raison évidente.

0
Zarepheth

Pas tout à fait sûr dans quel ordre vs 2017 essayant de résoudre les paquets. Mais ma situation suivait. Dans mon VS2015, j'avais configuré une source locale et une source tierce pour les paquets de nuget. La version nouvellement installée de 2017 les a également chargés.

https://api.nuget.org/v3/index.json était le premier dans la liste.

Mais vs2017 a généré une erreur indiquant qu’il ne pouvait pas restaurer les bibliothèques principales .net à partir de mon autre dépôt local.

Après avoir décoché toutes les cases sauf https://api.nuget.org/v3/index.json , cela avait commencé à fonctionner normalement.

0
Ivan Kononenko

Essayez d’ajouter la ligne suivante au-dessus des autres références du fichier csproj

<Reference Include="netstandard" />

Reference screenshot

0
SushiGuy

J'ai aussi eu le même problème. Il n'y a pas de dossier SDK sous celui de Dependencies. Par conséquent, pas de bibliothèques Microsoft.NetCore.App!

Pour résoudre ce problème, dans la fenêtre du gestionnaire de pépites, installez les pépites qui dépendent de .NetCoreApp (vous pouvez installer par exemple Microsoft.AspNetCore ou BundlerMinifier.Core à partir de la source de Microsoft Visual Studio Offline Packages).

Le SDK sera restauré à la même heure.

Une fois qu'il est de retour, vous pouvez désinstaller le nuget précédemment ajouté. Le SDK restera en place.

0
Michael

Le problème pour moi s'est produit lors de l'exécution de Visual Studio en tant qu'administrateur avec un utilisateur distinct - j'avais créé un référentiel Git avec les fichiers source dans les documents utilisateur de mon compte normal. Lorsque j'ai créé une nouvelle solution dans ce dossier, les erreurs ci-dessus se sont produites. Essayez de créer votre projet dans un endroit différent et voyez si l'erreur persiste.

Trouvez le projet brisé et cliquez avec le bouton droit de la souris sur Décharger, cliquez avec le bouton droit de la souris, Re-charger. La solution la plus rapide pour moi.

Si vous rencontrez le problème lors de l'utilisation de la CLI, essayez d'utiliser nuget restore Au lieu de dotnet restore, Car cela permet parfois de supprimer les paquets que la CLI par défaut semble manquer.

0
alastairtree

J'ai eu ce problème aussi, mais pas maintenant, cette étape a résolu mon problème: Choisissez Projet -> Propriétés dans la barre de menus. Dans la fenêtre Propriétés du projet, sous Propriétés de configuration -> Général, assurez-vous que Prise en charge de Common Language Runtime est définie sur Prise en charge de Common Language Runtime (/ clr).

0
Rodrigo

Je faisais face au même problème lorsque j'ai créé un nouveau projet (. .Net Core 2.2) dans VS2019. Dans mon cas, un package Azure était à l'origine du problème.I l’a désinstallé et le projet a bien fonctionné. Exécutez la commande mentionnée ci-dessous pour désinstaller le paquet.

Uninstall-Package Microsoft.VisualStudio.Azure.Containers.Tools.Targets -Version 1.7.10

0
Nofi

Aucune des réponses ici ne fonctionnant pour moi , je publie donc ce qui a fonctionné. Mes erreurs étaient généralement les mêmes que celles de l’affiche originale, mais j’avais aussi:

Erreur lors du chargement des métadonnées pour la valeur hexadécimale 0x1C de caractère Microsoft non valide pour 'Microsoft.Extensions.FileProviders.Embedded.2.0.1'

À chaque fois que j'essayais de télécharger un paquet de nuget différent ou de restaurer d'anciens paquets, je voyais cette erreur. J'ai aussi vu d'autres erreurs telles que:

type ou système de nommage introuvable


Ce qui a fonctionné pour moi:

  1. ouvrit le chemin du fichier où l'erreur disait que les mauvaises métadonnées étaient, ce qui pour moi était C:\Program Files\dotnet\sdk\NuGetFallbackFolder\Microsoft.extensions.fileproviders.embedded\2.0.1
  2. Ensuite, je mets le contenu de ce dossier dans un autre dossier que j'ai nommé "caché".
  3. Ensuite, je suis retourné dans le gestionnaire de paquets Nuget et j'ai essayé d'installer un paquet, dans l'espoir de pouvoir restaurer le SDK. IOt a fonctionné avec succès et toutes mes autres erreurs ont également disparu, et le nouveau projet fonctionne comme il se doit!
0
Alexandra

Pour moi, le problème était dû au fait que mon projet avait un IntermediateOutputPath personnalisé. Pour une raison quelconque, si project_name.csproj.nuget.g.targets n'est pas dans le sous-dossier obj du dossier du projet, l'erreur se produit.

Utiliser la valeur par défaut IntermediateOutputPath ou conserver une copie fantôme de project_name.csproj.nuget.g.targets dans le faux dossier obj résout le problème pour moi.

0
Martin Prikryl