web-dev-qa-db-fra.com

WebHost n'existe pas dans le contexte actuel dans le modèle d'API par défaut Asp Net Core 2.2

J'apprends .net core et j'ai commencé avec .net core 2.2

Je suis ce tutoriel. https://docs.Microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-2.2&tabs=visual-studio

Je l'ai fait ci-dessous.

-> Création du nouveau projet d'application Web principale ASP.NET et du modèle d'API sélectionné avec la version Asp.NET Core 2.2 -> Construire l'application

Il y a une erreur de construction avec l'application par défaut créée. 

L'erreur est "Le nom WebHost n'existe pas dans le contexte actuel."

Je n'ai encore apporté aucune modification au code et à l'espace de noms Microsoft.AspNetCore; est présent dans la déclaration using.

Je ne suis pas sûr de ce qui me manque ici. Peux-tu aider s'il te plait?

4
NewBie

J'ai rencontré le même problème et voici ma solution de contournement. Le MS documentation dit de mettre à jour le TFM puis de s’assurer qu’il n’ya pas de version pour la référence du paquet Microsoft.AspNetCore.App

Pour contourner ce problème:

  • lancez Uninstall-Package Microsoft.AspNetCore.App dans la console du gestionnaire de paquets
  • puis lancez Install-Package Microsoft.AspNetCore.App

Ceci ajoutera la référence du paquet avec l'attribut version:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" /> 

J'avais des résultats mitigés après la suppression de l'attribut Version de la référence du package. Au début, j'avais des erreurs de construction, mais je ne peux plus reproduire l'erreur, cela fonctionne sans l'attribut Version.

2
Rossco

Voici les étapes que je recommande pour résoudre ce problème en fonction de mon expérience et de celle des autres.

  1. Assurez-vous de disposer de la dernière version de Visual Studio et du SDK nécessaire. 
  2. Assurez-vous de disposer de la version de dotnet requise via dotnet --version. Cela devrait être installé avec VS, mais si vous n'installez pas VS, vous devez quand même mettre à jour les versions de dotnet.
  3. Si vous utilisez ReSharper, désactivez-le ou téléchargez la dernière mise à jour. Il existe un problème de GitHub que vous pouvez consulter pour plus d’informations.
  4. Essayez d'exécuter dotnet restore. Si vous voyez un message du type Permission denied to modify the 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder' folder..__, votre problème pourra être résolu en supprimant le dossier NugetFallbackFolder. Voir question GitHub
  5. Si vous rencontrez toujours des problèmes, bonne chance et commentez votre solution une fois que vous l'aurez trouvée.
1
Joshua Novick

Je l'ai résolu en supprimant C:\Program Files\dotnet\sdk\NuGetFallbackFolder puis exécutez dotnet build in administrator cmd

0
Moamen Mohamed

J'ai eu le même problème mais j'ai trouvé la solution: Dans les propriétés du projet, sélectionnez comme infrastructure cible l'un des framework .NET Core, Ex. .NET Core 2.1, enregistrez les modifications . Sélectionnez ensuite le bon cadre - .NET Core 2.2 Reconstruisez le projet. C'est tout.

0