4

I'm debugging a rather large VB.net script in Rider. Several Dictionary and List objects are constructed and I want to inspect them in the Debugger using Evaluate Expression and query them using Linq functions like Select and Where.

In JetBrains Rider, setting a breakpoint and opening Evaluate Expression, I can view the objects but when trying to run any function on them, all I get is messages like these:

Expression: GroupedProducts.Where(p => p.Key == "1234567").ToList()

Result: 'Dictionary<string, string>' does not contain a definition for 'Where' and no accessible extension method 'Where' accepting a first argument of type 'Dictionary<string, string>' could be found (are you missing a using directive or an assembly reference?)

Here, the GroupedProducts object is of type Dictionary<string, string> but the autocomplete suggestions in Evaluate Expression only seem to pickup methods of Object.

Is there something I'm missing? I've set JetBrains as the default debugger but that didn't help anything. Any suggestion is welcome.

.Net SDK: .Net Framework v4.7 developer pack
Rider version: 2019.3.1
OS: Windows 10 Professional

LazyOne
  • 158,824
  • 45
  • 388
  • 391
MacHeath
  • 108
  • 7

1 Answers1

0

I faced the same problem, but sometimes the expressions were still evaluated! Try using Enumerable.Where(GroupedProducts, predicate) instead of GroupedProducts.Where(predicate) in "Evaluate" window.

Artem Popov
  • 344
  • 2
  • 11