OwinHost.exe不适用于类库项目

时间:2014-02-25 22:48:04

标签: owin katana

我使用以下启动类创建了一个新的类库项目:

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与类库项目一起工作(我在控制台应用程序中遇到了同样的问题)。

1 个答案:

答案 0 :(得分:2)

如果执行不带参数的OwinHost.exe,则方法名称必须为Configuration,而不是Configure

此外,在根路径(A.K.A {projectDir})下执行owinhost.exe并将构建输出到/ bin,而不是/ bin / debug。当然,这些都可以通过切换到OwinHost.exe进行配置,但如果你想用任何开关来运行它,这就是它所需要的。

此处提供了更深入的解释:OWIN Startup Class Detection和此处:Good Old F5 Experience With OwinHost.exe on Visual Studio 2013