2014-02-25 33 views
0

我已經創建了一個新的類庫項目具有以下啓動類:OwinHost.exe不工作的類庫項目

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> 

當我嘗試從/bin/debug我碰到下面的錯誤運行owinhost.exe

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與類庫項目一起工作(我有與控制檯應用程序相同的問題)。

回答

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

+0

這是代表我一個錯字。即使重命名爲「配置」後,我也得到相同的錯誤。 –

+0

編輯了答案。 – tugberk

+1

絆倒我的是我正在構建/ bin/debug。我試圖使用'-d'開關指定我的編譯目錄,但是[查看源代碼](https://katanaproject.codeplex.com/SourceControl/latest#src/OwinHost/Program.cs),這不會出現做任何事。 –