当前上下文中不存在名称 WebHost
Posted
技术标签:
【中文标题】当前上下文中不存在名称 WebHost【英文标题】:The name WebHost does not exists in current context 【发布时间】:2018-05-05 02:31:22 【问题描述】:在 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
任何解决方案、解决方法或提示都将受到高度赞赏。谢谢。
【问题讨论】:
【参考方案1】:WebHost
类驻留在Microsoft.AspNetCore
程序集,该程序集附带Microsoft.AspNetCore.All
NuGet 包。因此,要解决您的问题,请安装此 NuGet 包并将以下 using
指令添加到您的源文件:
using Microsoft.AspNetCore;
【讨论】:
我的集成管理器不希望所有 dll 作为 Microsoft.AspNetCore.All 包含 100 多个程序集来运行基本的 .Net Core 应用程序。有没有办法只包含依赖程序集来构建和运行应用程序? 看看这个 - docs.microsoft.com/en-us/dotnet/core/deploying @ManishDubey 是的。 My answer is below. 需要的包名是Microsoft.AspNetCore
。不要使用.All
包,否则会遇到编译问题。【参考方案2】:
由于CodeFuller's answer indicated WebHost
类在程序集Microsoft.AspNetCore
中可用,如果你不需要所有东西,你可以得到包Microsoft.AspNetCore
。
【讨论】:
以上是关于当前上下文中不存在名称 WebHost的主要内容,如果未能解决你的问题,请参考以下文章