当我尝试开始时:
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)
最佳答案
您必须在项目引用中包含 Microsoft.Owin.Host.HttpListener.dll
。
您可以通过 NuGet 添加它。
但是,如果代码执行:
WebApp.Start<SrvcHst> (...);
包含在类库中,确保使用该库的可执行文件还包含对Microsoft.Owin 的引用
.Host.HttpListener.dll,否则它不会与您的程序一起部署,因为类库中没有对它的显式引用。
查看您的 bin/Debug
文件夹并确保 DLL 在那里。
关于c# - 找不到 OWIN HttpListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25090211/