2014-01-24 29 views
1

我已經擴展ApiController以包含一些常見的屬性/方法,並且此擴展控制器保存在單獨的類庫/程序集中。WebApi2幫助頁面在擴展ApiController後停止生成文檔

public class ExtendedApiController : ApiController 
{ 
    // shared properties... 
} 

在我的Api項目中,所有的控制器都繼承自這個擴展控制器。

public class HomeApiController : ExtendedApiController 
{ 
    // actions... 
} 

很簡單...

然而,延伸的基類現在防止幫助頁面生成從實際從這些控制器生成文檔。如果我將控制器切換回直接從ApiController繼承,它們在文檔中可見。

有沒有辦法允許/更改生成器查找的程序集名稱?我有一個偷偷的懷疑,它是直接比較一個基類到「ApiController」,因此跳過了我的全部。

+1

我認爲還有其他事情正在發生,也許是擴展控制器中文檔生成器沒有得到的東西,因爲我在我的web api中使用了類似擴展控制器而沒有生成文檔的問題。 – Stephen

+0

@Stephen你的假設是正確的。回答如下... – nak5ive

回答

1

那麼,事實證明,我的基類是在不同的集會是這個問題的一部分。真正的問題是這些項目引用了不同版本的WebApi2庫。不幸的是,相沖突的軟件包版本僅被列爲警告,而不是錯誤,所以我錯過了它。解決方案中所有項目的所有NuGet軟件包的更新都解決了這個問題。

+0

將'警告作爲錯誤'進行編譯,所以下次你不要忽略它們。你有被警告的原因;) – Stephen