Pergunta

Criei um novo projeto de biblioteca de classes com a seguinte classe de inicialização:

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

Tenho os seguintes pacotes 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>

Quando tento correr owinhost.exe de /bin/debug Estou tendo o erro a seguir:

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.

Preciso fazer mais alguma coisa para que o OwinHost.exe funcione com um projeto de biblioteca de classes (tive o mesmo problema com um aplicativo de console).

Foi útil?

Solução

Se você executar o OwinHost.exe sem parâmetros, o nome do método precisará ser Configuration, não Configure.

Além disso, execute owinhost.exe sob o caminho raiz (também conhecido como {projectDir}) e envie as compilações para /bin, não /bin/debug.Claro, estes são configuráveis ​​através de switches para OwinHost.exe mas é disso que ele precisa se você quiser executá-lo sem quaisquer opções.

Uma explicação mais detalhada está disponível aqui: Detecção de classe de inicialização OWIN e aqui: A boa e velha experiência F5 com OwinHost.exe no Visual Studio 2013

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top