Please see the bug fix page from Microsoft at GitHub. This is the ticket #20779, which is fixed in the Visual Studio 2017 version 15.3 (However, you're using 15.4.1, It's should be fixed.)
Based on the ticket, the problem only happened with generic types. It turns out the problem only happens when trying to navigate to a type where one or more of the generic type arguments is a user defined type. So you can Go To Definition on List, but if you try on List, you'll get this error: "Cannot navigate to the symbol under the caret".
So, you can try to temporarily change types to int, then undo. See what's happen.
In your scenario, maybe you can use other approach, such as, empty the symbol cache, clean the solution and recompile, reset the visual studio user data, disable extensions, close all documents, clear various caches and temporary files first. Then you can sync project.