Why does the condition for a breakpoint failed to execute?

mbx picture mbx · Mar 28, 2014 · Viewed 8.7k times · Source

I want to temporarily disable a breakpoint for a short time, so I set a conditional breakpoint with the following condition:

(global::System.DateTime.Now<new global::System.DateTime(2014,03,28,11,0,0))

When this breakpoint is hit a dialog pops up, saying

The condition for a breakpoint failed to execute. The condition was 
'(global::System.DateTime.Now<new
global::System.DateTime(2014,03,28,11,0,0))'. The error returned was
'The runtime has refused to evaluate the expression at this time.'. Click
OK to stop at this breakpoint.

Why has the runtime refused to evaluate the expression?

What can I do to get the desired behavior without modifying the debugged source code?

Answer

thewhiteambit picture thewhiteambit · May 28, 2015

From VS2012 on, you have to switch to the Managed Compatibility Mode, to use conditional breakpoints. Why (sorry, no more why from MS since that link is broken.. I added link to archive.org) and how is described here:

switching-to-managed-compatibility-mode-in-visual-studio-2013

old Microsoft link, now dead

the original Microsoft article on archive.org