OWIN HttpListener未find

当我尝试开始时:

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

我得到以下exception。 什么可能是根本原因?

 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) 

您必须在您的项目引用中包含Microsoft.Owin.Host.HttpListener.dll

你可以通过NuGet添加它。

但是,如果代码执行:

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

包含在一个类库中 ,确保使用该库的可执行文件还包含对Microsoft.Owin.Host.HttpListener.dll的引用,否则它将不会与您的程序一起部署,因为没有明确的引用类库。

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

确保你已经安装了下面的包

Microsoft.Owin.Host.HttpListener

使用Install-package Microsoft.Owin.Host.HttpListener

有时NuGet引用被添加到一个不完整的状态。 如果您安装了软件包,但是不包含引用,请尝试通过重新安装它们;

 Update-Package -reinstall 

在包pipe理器控制台中。

除了皮埃尔和达米斯的答案。 如果您使用的是Mac OS ,请运行以下命令来安装HttpListener

 dnu install Microsoft.Owin.Host.HttpListener