Frage

Ich habe ein neues Klassenbibliotheksprojekt mit der folgenden Startklasse erstellt:

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");
        });
    }
}

Ich habe folgende Pakete installiert:

<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>

Wenn ich versuche zu rennen owinhost.exe aus /bin/debug Ich erhalte die folgende Fehlermeldung:

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.

Muss ich noch etwas tun, damit OwinHost.exe mit einem Klassenbibliotheksprojekt funktioniert (ich hatte das gleiche Problem mit einer Konsolenanwendung)?

War es hilfreich?

Lösung

Wenn Sie OwinHost.exe ohne Parameter ausführen, muss der Methodenname angegeben werden Configuration, nicht Configure.

Auch ausführen owinhost.exe unter dem Root-Pfad (auch bekannt als {projectDir}) und geben Sie die Builds nach /bin aus, nicht nach /bin/debug.Diese sind natürlich über Schalter konfigurierbar OwinHost.exe Aber das ist es, was es braucht, wenn Sie es ohne Schalter betreiben möchten.

Eine ausführlichere Erklärung finden Sie hier: OWIN-Startklassenerkennung und hier: Gute alte F5-Erfahrung mit OwinHost.exe in Visual Studio 2013

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top