OwinHost.exe не работает для проекта библиотеки классов

StackOverflow https://stackoverflow.com//questions/22027906

  •  21-12-2019
  •  | 
  •  

Вопрос

Я создал новый проект библиотеки классов со следующим стартовым классом:

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

У меня установлены следующие пакеты:

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

Когда я пытаюсь запустить owinhost.exe от /bin/debug Я получаю следующую ошибку:

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.

Нужно ли мне делать что-нибудь еще, чтобы OwinHost.exe работал с проектом библиотеки классов (у меня была такая же проблема с консольным приложением).

Это было полезно?

Решение

Если вы запускаете OwinHost.exe без параметров, имя метода должно быть Configuration, нет Configure.

Кроме того, выполните owinhost.exe по корневому пути (также известному как {projectDir}) и выводить сборки в /bin, а не в /bin/debug.Конечно, их можно настроить с помощью переключателей на OwinHost.exe но это то, что нужно, если вы хотите запустить его без каких-либо переключателей.

Более подробное объяснение доступно здесь: Обнаружение класса запуска OWIN и здесь: Старый добрый опыт F5 с OwinHost.exe в Visual Studio 2013

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top