WPF WebHostBuilder不包含UseKestrel的定义

问题描述

我正在尝试根据GitHub使用OIDC实施单点登录,但我不断收到错误消息:

'WebHostBuilder'不包含'UseKestrel'的定义,找不到可以接受的扩展方法'UseKestrel'接受类型为'WebHostBuilder'的第一个参数(您是否缺少using指令或程序集引用?)>

实施SystemBrowser.cs代码

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软件包?到目前为止安装的软件包是:

packages installed so far

任何帮助将不胜感激。

解决方法

默认的asp.net核心应用程序可以很好地工作,因为Microsoft.AspNetCore.Hosting软件包和其他相关软件包已集成到框架中。

我用asp.net核心测试了控制台应用程序,并重现了您的问题。将Microsoft.AspNetCore.HostingMicrosoft.AspNetCore.Server.Kestrel一起安装。

您可以通过搜索软件包名称在NuGet软件包管理器上进行下载,或者使用以下参考资料中的命令在软件包管理器控制台上进行下载:

https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel/2.2.0?_src=template