问题描述
我正在尝试根据GitHub使用OIDC实施单点登录,但我不断收到错误消息:
'WebHostBuilder'不包含'UseKestrel'的定义,找不到可以接受的扩展方法'UseKestrel'接受类型为'WebHostBuilder'的第一个参数(您是否缺少using指令或程序集引用?)>
using IdentityModel.Oidcclient.browser;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Net.sockets;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
//other code
//simplified code extract below
IWebHost _host = new WebHostBuilder()
.UseKestrel()
.UseUrls(_url)
.Configure(Configure)
.Build();
//other code
根据this,它应该是Microsoft.AspNetCore.Hosting的一部分吗?
是否缺少我需要安装的东西或NuGet软件包?到目前为止安装的软件包是:
任何帮助将不胜感激。
解决方法
默认的asp.net核心应用程序可以很好地工作,因为Microsoft.AspNetCore.Hosting
软件包和其他相关软件包已集成到框架中。
我用asp.net核心测试了控制台应用程序,并重现了您的问题。将Microsoft.AspNetCore.Hosting
和Microsoft.AspNetCore.Server.Kestrel
一起安装。
您可以通过搜索软件包名称在NuGet软件包管理器上进行下载,或者使用以下参考资料中的命令在软件包管理器控制台上进行下载:
https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel/2.2.0?_src=template