未找到 OWIN HttpListener

当我试着开始的时候:

WebApp.Start<SrvcHst>(new StartOptions { Port = 9956,
ServerFactory = "Microsoft.Owin.Host.HttpListener" });

我得到了下面的例外。什么可能是根本原因?

System.MissingMemberException was caught
HResult=-2146233070
Message=The server factory could not be located for the given input: Microsoft.Owin.Host.HttpListener
Source=Microsoft.Owin.Hosting
StackTrace:
at Microsoft.Owin.Hosting.Engine.HostingEngine.ResolveServerFactory(StartContext context)
at Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext context)
at Microsoft.Owin.Hosting.Starter.DirectHostingStarter.Start(StartOptions options)
at Microsoft.Owin.Hosting.Starter.HostingStarter.Start(StartOptions options)
at Microsoft.Owin.Hosting.WebApp.StartImplementation(IServiceProvider services, StartOptions options)
at Microsoft.Owin.Hosting.WebApp.Start(StartOptions options)
at Microsoft.Owin.Hosting.WebApp.Start[TStartup](StartOptions options)
33186 次浏览

您必须在项目参考文献中包含 Microsoft.Owin.Host.HttpListener.dll

你可以通过 NuGet 添加它。

但是,如果执行的代码:

WebApp.Start<SrvcHst> (...);

是包含在 班级图书馆确保使用库的 < em > 可执行文件 也包括引用Microsoft.Owin.Host.HttpListener.dll中的,否则它不会与您的程序一起部署,因为类库中没有对它的显式引用。

看看你的 bin/Debug文件夹,确保 DLL 在那里。

有时,NuGet 引用是以不完全状态添加的。如果您已经安装了软件包,但是没有包含引用,请尝试通过以下方式重新安装它们;

Update-Package -reinstall

在包管理器控制台中。

确保您已经安装了软件包 Microsoft.Owin.Host.HttpListener

要安装软件包,请使用以下命令行:

Install-Package Microsoft.Owin.Host.HttpListener

对于 Pierre 和 Damith 的回答,这是一个小小的补充。如果你正在使用 Mac OS,运行以下命令来安装 HttpListener:

dnu install Microsoft.Owin.Host.HttpListener