Имя 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)
.