WebHost名称在当前上下文中不存在

时间:2017-11-21 15:05:54

标签: c# asp.net-core .net-core asp.net-core-2.0

我正在使用docs.microsoft上的以下帖子从ASP.NET Core 1.x迁移到v2.0: 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

任何解决方案,变通方法或提示都将受到高度赞赏。感谢。

2 个答案:

答案 0 :(得分:21)

WebHost类位于Microsoft.AspNetCore NuGet包附带的Microsoft.AspNetCore.All程序集中。因此,为了解决您的问题,请安装此NuGet包并将以下using指令添加到源文件中:

using Microsoft.AspNetCore;

答案 1 :(得分:1)

由于CodeFuller's answer indicated WebHost类在程序集Microsoft.AspNetCore中可用,如果您不需要所有内容,则只需获取软件包Microsoft.AspNetCore