Owinhost.exe non funziona per il progetto della biblioteca di classe
Domanda
Ho creato un nuovo progetto di libreria di classe con la seguente classe di avvio:
public class Startup
{
public void Configure(IAppBuilder app)
{
app.Run(ctx =>
{
ctx.Response.StatusCode = 200;
ctx.Response.ContentType = "text/plain";
return ctx.Response.WriteAsync("Hello from Owin");
});
}
}
.
Ho installato i seguenti pacchetti:
<packages>
<package id="Microsoft.Owin" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.Owin.Host.HttpListener" version="2.1.0" targetFramework="net45" />
<package id="Owin" version="1.0" targetFramework="net45" />
<package id="OwinHost" version="2.1.0" targetFramework="net45" />
</packages>
.
Quando tento di eseguire owinhost.exe
da /bin/debug
ottengo il seguente errore:
Error: System.EntryPointNotFoundException
The following errors occurred while attempting to load the app.
- No assembly found containing an OwinStartupAttribute.
- No assembly found containing a Startup or [AssemblyName].Startup class.
.
Devo fare qualsiasi altra cosa per ottenere Owinhost.exe per lavorare con un progetto di biblioteca di classe (ho avuto lo stesso problema con un'applicazione console).
Soluzione
Se si esegue Owinhost.exe senza parametri, il nome del metodo deve essere Configuration
, non Configure
.
Inoltre, eseguire owinhost.exe
sotto il percorso root (a.k.a {projectdir}) e in uscita le build to / bin, non / bin / debug.Naturalmente, questi sono configurabili tramite interruttori a OwinHost.exe
ma questo è ciò di cui ha bisogno se vuoi eseguirlo w / o eventuali interruttori.
More in profondità spiegazione è disponibile qui: Rilevamento della classe di avvio owin e qui: buona vecchia esperienza F5 con Owinhost.exe su Visual Studio 2013