我在用什么:
我创建了一个新的针对netcoreapp3.0的ASP.NET Core Web API项目,但出现以下错误:
The type or namespace name 'CreateDefaultBuilder' does not exist in the namespace 'Template.Host' (are you missing an assembly reference?)
答案 0 :(得分:3)
再看看错误消息:
名称空间'Template.Host'中不存在类型或名称空间名称'CreateDefaultBuilder'...
当Host.CreateDefaultBuilder
在Template.Host
的命名空间中时,编译器会假设您的意思是Template.Host.CreateDefaultBuilder
。至少有以下几种方法可以解决此问题:
在您的命名空间中嵌套using
语句:
namespace Template.Host
{
using Microsoft.Extensions.Hosting;
// ...
}
为您的命名空间内的Microsoft.Extensions.Hosting.Host
类型添加别名:
namespace Template.Host
{
using Host = Microsoft.Extensions.Hosting.Host;
// ...
}
使用Host
类型的全名:
Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args)
Host
代表Generic Host,在ASP.NET Core 3.0+中,它优于WebHost
。
答案 1 :(得分:1)
更新:我的地位很低,无法对Kirk的帖子发表评论。我不知道Host在3.0中是首选。无论如何,柯克的答案应该是正确的
您应按以下方式使用WebHost(而非主机):
result[] = {9, 12}