2011-07-25 115 views
2

林接收以下錯誤:類不包含一個定義的方法,但方法有

「mynamespace.mybaseclass」
不包含
「的MyMethod」
定義和沒有擴展方法
「的MyMethod」
接受
類型的第一個參數 「mynamespace.mybaseclass」
可以找到(是否缺少using指令或程序集引用?)

當我在呼叫者行中選擇方法並執行[轉到定義] VS在預期位置找到了方法聲明。 當方法名稱更改爲mymethod_ABC並選擇[生成方法存根]時,方法mymethod_ABC一起創建mymethod,具有相同的簽名,只有參數名稱不同。 該項目不能建立 有人可以看到錯誤的東西?

非常感謝。

+5

嘗試發佈您的基類的代碼。 – blowdart

+0

這是編譯器給出的_only_錯誤嗎? – Johnny5

回答

0

如果您的代碼涉及跨項目引用,請驗證是否包含項目引用並驗證構建順序。

2

引用方法和「轉到定義」成功的能力不是100%鏈接的。雖然他們使用了很多相同的基礎設施,但在幾個關鍵領域卻有所不同。一般來說,「Go To Definition」將比編譯更成功。

他們不具有相同的結果,最常見的原因是

  • 缺少DLL /項目引用
  • 重載解析錯誤

鑑於特定的錯誤你得到我會開始缺少DLL /項目引用

0

今天,當打開機器和打開visual studio,問題消失,有ot她的班級,但在正確的代碼沒有紅色下劃線錯誤指示器。現在解決方案正常工作。感謝大家爲我着想。它的視覺工作室的錯誤? 再見。

0

在開始編輯代碼後,將class.cs從HtmlHelpers目錄移動到Filters目錄與VS界面後,我得到了同樣的錯誤。建設,重建,清潔沒有幫助。

但是如果你不開始編輯代碼呢?將HtmlHelper目錄中的class.cs拖放到我的案例中的Filters目錄中。然後按F5鍵,不會出現任何錯誤。 然後關閉VS,使用dll,cache,tmp,DEBUG ...在其中刪除obj目錄。運行VS.按F5並再次沒有錯誤。

關閉VS,刪除Obj目錄並重新啓動窗口。 Filters目錄中的Class.cs指向代碼中的錯誤HtmlHelpers目錄。按F5並再次沒有錯誤。

3

我最近有完全相同的問題。解決辦法是刪除對該問題的參考,並再次添加同一個...誰知道,工作就像一個魅力:)

4

對於任何搜索此一個解決方法,因爲我:

我只是有這個問題,但事實證明,有一個在引用的項目小編譯錯誤包含我正在嘗試使用的方法,並且由於該項目沒有使用新方法成功編譯,所以在其他項目中使用它是無效的。修復了這個錯誤,我不再得到這個錯誤。

+0

我有同樣的問題。在閱讀這個答案之後,我右鍵單擊每個項目並選擇「Build」,從依賴層次結構中較低的那個開始。然後出現錯誤,我糾正了錯誤,並且完全解決方案重建成爲可能。 – heltonbiker

0

我剛剛也有這個問題。該方法在那裏,可以通過「轉到定義」找到。我改變了定義名稱(和引用),並得到了與新名稱相同的錯誤。 我重新輸入參考線,在它的正上方,然後刪除舊的參考線,瞧 - 它的工作。不知道爲什麼,但很少有VS由於某種原因掛在一行代碼上,唯一的解決方案是重新輸入行並刪除原始行。奇。那麼,這個問題又回來了。我注意到「缺少」方法不會顯示在匹配我開始鍵入的方法列表中。來自同一班級的其他方法會。即使我重命名該方法,該行爲也不會改變。所以我認爲「盲點」與特定方法的外部形式相關 - 不僅僅是名稱。所以我複製了IDE所「看到」的同一類中的另一個方法。我重新命名了它,刪除了內部代碼,然後從「unseen」方法的內部代碼中粘貼。現在它一直工作。一個真正的「瞧」。

2

我以爲我已經修復了這一次,但後來又回來了。他們的方式我固定它永遠是這樣的:

首先,我更新的組件AssemblyInfo.cs中,可以在Visual Studio中的解決方案資源管理器中有問題的組件屬性部分中找到的版本號。

我增加它1。接着我取出我的主要項目,並參考再添加它。最後,我進行了一次清理並構建了違規項目並查找了任何錯誤。我看不到錯誤,但有一個警告與未使用的Exception變量有關。我刪除了這個並完成了整個解決方案的重建,問題得到解決。

相關問題