web-dev-qa-db-fra.com

OWIN HttpListener non localisé

Quand j'essaye de commencer:

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

Je reçois l'exception suivante. Quelle pourrait être la cause première?

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)
66
GilliVilla

Vous devez inclure Microsoft.Owin.Host.HttpListener.dll dans vos références de projet.

Vous pouvez l'ajouter via NuGet.

Cependant, si le code s'exécutant:

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

est contenu dans une bibliothèque class , assurez-vous que le fichier executable consuming la bibliothèque inclut également la référence à Microsoft.Owin.Host.HttpListener.dll; sinon, il ne serait pas déployé avec votre programme, car il ne contient aucune référence explicite à celle-ci. la bibliothèque de classe.

Examinez votre dossier bin/Debug et assurez-vous que la DLL est présente.

117
Pierre Arnaud

Assurez-vous d'avoir installé le paquet Microsoft.Owin.Host.HttpListener

Pour installer le paquet, utilisez cette ligne de commande:

Install-Package Microsoft.Owin.Host.HttpListener
43
Damith Asanka

Parfois, les références NuGet sont ajoutées dans un état incomplet. Si les packages sont installés, mais que les références ne sont pas incluses, essayez de les réinstaller via;

Update-Package -reinstall

dans la console du gestionnaire de paquets.

6
Daniel Park

Petit ajout à la réponse de Pierre et Damith. Si vous utilisez Mac OS , exécutez la commande suivante pour installer HttpListener :

dnu install Microsoft.Owin.Host.HttpListener
0
Baidaly