Имя WebHost не существует в текущем контексте

Я перехожу с ASP.NET Core 1.x на v2.0 с помощью следующего поста на docs.microsoft: https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to -2x/

Я почти закончил со всеми изменениями, упомянутыми в этом посте. Но есть одна ошибка, которая вызывает проблемы.

Вот мой файл 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();
    }
}

А вот и сообщение об ошибке:

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

Любое решение, обходной путь или подсказка будут высоко оценены. Благодарю.

Ответ 1

WebHost класс содержит сборку Microsoft.AspNetCore, которая поставляется с пакетом Microsoft.AspNetCore.All NuGet. Поэтому, чтобы исправить проблему, установите этот пакет NuGet и добавьте следующую директиву using в исходный файл:

using Microsoft.AspNetCore;

Ответ 2

Как указано в ответе CodeFuller, класс WebHost доступен в сборке Microsoft.AspNetCore Если вам все не нужно, вы можете просто получить пакет Microsoft.AspNetCore.

Ответ 3

Добавьте CreateWebHostBuilder(args).Build() вместо BuildWebHost(args).