web-dev-qa-db-fra.com

Le nom WebHost n'existe pas dans le contexte actuel

J'effectue la migration d'ASP.NET Core 1.x vers la v2.0 à l'aide du message suivant sur docs.Microsoft: https://docs.Microsoft.com/en-us/aspnet/core/ migration/1x à 2x/

J'ai presque fini avec tous les changements mentionnés dans ce post. Mais il y a une erreur qui cause des problèmes.

Voici mon fichier Program.cs:

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;

namespace MeridiaCoreAPI
{
    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
           WebHost.CreateDefaultBuilder(args)
               .UseStartup<Startup>()
            .ConfigureAppConfiguration((hostContext, config) =>
            {
            // delete all default configuration providers
            config.Sources.Clear();
                config.AddJsonFile("myconfig.json", optional: true);
            })
               .Build();
    }
}

Et voici le message d'erreur:

Suppression State
Error   CS0103  The name 'WebHost' does not exist in the current context

Toute solution, solution ou astuce serait très appréciée. Merci.

14
Azaz ul Haq

WebHost class resides Microsoft.AspNetCore Assembly fourni avec le package Microsoft.AspNetCore.All NuGet. Donc, pour résoudre votre problème, installez ce paquet NuGet et ajoutez la directive using suivante à votre fichier source:

using Microsoft.AspNetCore;

19
CodeFuller

Comme La réponse de CodeFuller a indiqué la classe WebHost est disponible dans l'assembly Microsoft.AspNetCore Si vous n'avez pas besoin de tout, vous pouvez simplement obtenir le package Microsoft.AspNetCore.

0
Erik Philips