我問這個問題,因爲每當我試圖調用從即時窗口擴展方法在Visual Studio 2010中,我得到以下錯誤:可擴展的方法來調用從即時窗口
System.Collections.Generic.IEnumerable' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'System.Collections.Generic.IEnumerable' could be found (are you missing a using directive or an assembly reference?)
如果立即窗口不支持擴展方法,那麼爲什麼當我鍵入我的變量(類型爲IEnumerable<QueryFilter>
)後跟一個點時,IntelliSense會列出所有擴展方法?
我在命令窗口中鍵入的內容沒有任何問題,因爲如果我將它複製並粘貼到我的代碼文件中並運行,它就會起作用。
使用Visual Studio 2012對相同的解決方案做同樣的事情可以正常工作。如果我切換回VS2010並且問題依然存在。
你能否給出一些解釋Code Contracts爲什麼或者如何導致這個問題? – gabe 2012-06-27 13:57:17
沒有解釋。通過設置另一臺機器對其進行測試,驗證它是否正常工作,然後安裝代碼合同,從而導致發生問題。 – 2012-06-28 08:27:11
這不僅僅是我的設置,同樣的事情也發生在我的同事身上。在Visual Studio 2012中運行完全相同的解決方案並在即時窗口中發出命令可以正常工作。切換回VS2010,問題依然存在。 – 2013-05-09 20:59:11