Problem: I got this error when retrieving list items using CAML SPQuery.
Root Cause: There was a field “Artifact ID” in the list, but the internal name was “Artifact”, resulting in an error! Correcting the internal name in the Query XML fixed the problem.
In another case, I got this error:
“The following exception was thrown when trying to enumerate the collection: “One or more field types are not installed properly. Go to the list settings page to delete these fields.”
This is because: XML is case sensitive, Field name was entered as “NotificationTo ” instead of “NotificationTo” (Note the extra space!)
So, the catch is: Always use the field’s Internal Name and bear in mind it’s case-sensitive (E.g., NotificationTo and notificationto are not the same!)