我有一個用MVC2和VB.NET編寫的項目。我使用了很多htmlhelper擴展方法,並且我將它們全部放在公共模塊中。他們工作得很好,我可以編譯和運行我的項目。我引用它們與這個命名空間:MVC2擴展方法在我的視圖中拋出錯誤
所以,再一次,他們的工作很好,我的項目運行和順利編譯。
的問題是,這些擴展方法每一個顯示爲錯誤:
Error 33 'TabbedMenu' is not a member of 'System.Web.Mvc.HtmlHelper(Of Object)'. C:\Projects\MyProject\MyProject.WebUI\Views\Shared\Site.Master 23 21 MyProject.WebUI
這並不阻止編譯和運行項目,它只是創建了一個錯誤,這是煩人。我嘗試過尋找解決方案,但是我發現的所有解決方案都是針對不編譯的項目,所有這些解決方案都使用簡單的解決方案,如引用正確的名稱空間或確保將模塊聲明爲公共。有什麼想法嗎?
首先,如果我沒有導入命名空間,那麼項目就不會像我說的那樣運行(參見上面的註釋)。其次,這是在VB.NET中。擴展方法必須位於自動定義共享方法的模塊中。 再一次,網站的工作原理和擴展方法一樣。他們只是在編譯之前拋出錯誤......儘管他們最終編譯了。 – user961794
也許如果你發佈了Extensions類的例子和一種不能深入瞭解潛在問題的方法?從你所說的話來看,它似乎應該起作用。 – dreza
它正在工作,完美,這就是我想告訴你的。它只是在編譯之前標記錯誤。編譯後,這個錯誤顯然不存在,因爲擴展方法編譯並運行得很好。問題是我想清理列出的錯誤,而不是我需要我的項目工作。 – user961794