68 votes

Visual Studio 2019 ne parvient pas à localiser le SDK .Net Core

Je suis ce tutoriel - Partager les ancres spatiales d'Azure à travers les sessions et les appareils - à Microsoft Docs.

Il faut que j'ouvre un projet dans VS, mais lorsque j'essaie de l'ouvrir, j'obtiens l'erreur suivante :

erreur : Le fichier du projet ne peut pas être ouvert par le système de projet, car il manque des importations critiques ou le SDK référencé. référencé ne peut être trouvé.

Informations détaillées : Impossible de localiser le SDK .NET Core. Vérifiez que il est installé et que la version spécifiée dans global.json (le cas échéant) correspond à la version installée.

La version du SDK est spécifiée dans le JSON. et tous les autres outils spécifiés dans le tutoriel, mais toujours rien.  Je pense qu'il me manque une étape quelque part. Toute aide serait très appréciée.

107voto

Max Carroll Points 1171

Étape 1) Premier passage dotnet --list-sdks à partir de la ligne de commande (comme dans La réponse de Grzegorz Smulko ). Prenez note du plus grand numéro de version.

enter image description here

Étape 2) Créez un fichier global.json à la racine de la solution avec le numéro de version exact de l'étape 1. Il doit contenir tous les chiffres sinon cela ne fonctionnera pas. Voici ma version au moment de la rédaction de ce document

{
  "sdk": {
    "version": "3.1.101"
  }
}

27voto

Justin Largey Points 1318

Essayez d'exécuter dotnet --list-sdks dans la console. Selon les informations figurant sur les pages qui s'affichent après le téléchargement des SDK .NET Core à partir de l'adresse suivante https://dotnet.microsoft.com/download vous devez avoir la version v2.2.106 pour VS2017 et v2.2.203 pour VS2019.

Avec seulement la v2.2.203 installée, les projets ne se chargeaient pas pour moi dans VS2019. J'ai dû installer la v2.2.105 également.

15voto

user208090 Points 21

J'ai eu ce problème parce que j'ai désinstallé certains anciens SDK dotnet. Non seulement VS2019 ne chargeait plus les projets dotnet core, mais dotnet n'était plus disponible sur mon chemin et n'était donc pas disponible en ligne de commande comme simplement dotnet .

Après avoir installé plusieurs anciennes versions de dotnet et réparé mon installation VS2019, j'ai finalement réussi à corriger le problème en ajoutant C:\Program Files\dotnet\ à mon chemin. Puis VS2019 chargeait à nouveau le projet.

En outre, rien de tout cela n'a affecté VS2017, qui a pu être chargé et fonctionner pleinement avec le projet. Et il a fonctionné sur la ligne de commande lorsque j'ai spécifié le chemin complet de l'exécutable dotnet.

14voto

alex Points 799

Je l'ai corrigé en installant la version x86 du SDK.

Il semble que chaque version de Visual Studio ait sa propre version de dotnet correspondante sur laquelle elle se base. Ceci est dû aux exigences de msbuild.

Si vous êtes un utilisateur de Visual Studio, il y a des exigences de version de MSBuild, donc utilisez seulement le SDK .NET Core supporté pour chaque version de Visual Studio. Si vous utilisez d'autres environnements de développement, nous vous recommandons d'utiliser la dernière version du SDK.

https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2.6/2.2.6.md

Comme détaillé sur cette page, vous aurez besoin des versions suivantes de dotnet pour chaque version de visual studio :

  • Visual Studio 2017 (Windows) : .NET Core SDK x86 2.2.108
  • Visual Studio 2019 version 16.0 : .NET Core SDK x86 2.2.205
  • Visual Studio 2019 version 16.1 : .NET Core SDK x86 2.2.301
  • Visual Studio 2019 version 16.2 : .NET Core SDK x86 2.2.401

10voto

therefromhere Points 21329

Aucune des propositions ci-dessus n'a fonctionné pour moi. J'ai remarqué que j'avais ce problème sur tous les types de projets, même ceux qui ne sont pas de type netcore. J'ai pu utiliser le fichier global.json et le faire fonctionner. Puis j'ai remarqué que j'avais un global.json dans un répertoire plus haut qui faisait référence à une version alpha de .net core. J'ai supprimé ce fichier et bingo, plus de problème.

en résumé

Assurez-vous qu'il n'y a pas de fichiers global.json plus haut dans la structure de votre répertoire qui pourraient perturber les choses.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X