Pregunta

He creado un proyecto de nueva biblioteca de clases con la siguiente clase de inicio:

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

Tengo los siguientes paquetes instalados:

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

Cuando intento ejecutar owinhost.exe de /bin/debug, obtengo el siguiente error:

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.

¿Necesito hacer cualquier otra cosa para obtener Owinhost.exe para trabajar con un proyecto de la biblioteca de clases (tuve el mismo problema con una aplicación de consola).

¿Fue útil?

Solución

Si ejecuta el OWINHOST.EXE sin parámetros, el nombre del método debe ser Configuration, no Configure.

Además, ejecute owinhost.exe debajo de la ruta de la raíz (a.k.a {projectdir}) y emite las compilaciones a / bin, no / bin / depuración.Por supuesto, estos son configurables a través de los interruptores a OwinHost.exe, pero esto es lo que necesita si desea ejecutarlo sin ningún interruptor.

Explicación más en profundidad disponible aquí: >Detección de clase de inicio de Owin y aquí: Buena experiencia F5 Old F5 con Owinhost.exe en Visual Studio 2013

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top