我使用以下启动类创建了一个新的类库项目:
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与类库项目一起工作(我在控制台应用程序中遇到了同样的问题)。
答案 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