2017-03-17 44 views
2

在條件斷點內是否可以使用Linq?在條件斷點處使用Linq的Visual Studio 2015

我試圖打破在下列條件爲真:

parentElement.ChildElements.Any(c => c.Id == 1) 

當過調試器擊中了以下錯誤消息顯示

調試器是無法計算該表達式。

我曾嘗試以下條件的情況下,該問題涉及到使用.Any()

parentElement.ChildElements.Where(c => c.Id == 1).Count() > 0 

這導致了同樣的錯誤,如上面顯示。

我知道周圍的工作將下面的代碼

#if DEBUG 
if(parentElement.ChildElements.Any(c => c.Id == 1)) 
{ 
    System.Diagnostics.Debugger.Break(); 
} 
#endif 

不過,我非常不喜歡更改代碼放置一個調試器。

+0

不喜歡條件斷點,它減慢了執行幾次 –

+1

剛剛驗證 - linq適用於條件斷點 –

+0

我認爲我的問題可能與在調試選項中未啓用「使用託管兼容模式」有關。啓用此設置可使斷點按預期工作 –

回答

1

此問題是由在Visual Studio中未啓用Use Managed Compatibility Mode選項引起的。

一旦選中此選項,斷點就按預期執行。

請參閱this有關如何在Visual Studio中啓用此選項的答案。

相關問題