One of our projects requires the word 'Num' to be a recognized word. I implemented an xml custom dictionary and added 'Num' to the <Recognized> words section. FXCop (1.35rc1) still reported it as a violation of Rule 'CA1704' in class IdentifiersShouldBeSpelledCorrectly.
After examining RuleUtilities.ReloadCustomDictionaries, IdentifiersShouldBeSpelledCorrectly.IsSpelledCorrectly, and IdentifiersShouldBeSpelledCorrectly.Check it looks like 'Num' is added to the unrecognized words by default via a resource file (Microsoft.FxCop.Sdk.Resources.Unrecognized.txt) and then added to the recognized words via my custom dictionary in the ReloadAdditionalCustomDictionaries method. The problem is that the word is in 2 dictionaries (unrecognized and recognized) and Unrecognized words are evaluated first by IsSpelledCorrectly.
Could a check be made to determine if a word is already in one of the dictionaries before it is added to a dictionary so that entries made in the custom dictionary have greatest precedence
This tool is great. Thanks for providing it to the community.
Jay

Same Word can appear in multiple dictionaries - related to rule CA1704 - Recognized Word 'Num'
Rudedog2
Jay,
These words were orginally hardcoded to prevent internal teams from overriding them via custom dictionaries and then shipping API that were made up of these words. Since, FxCop is now released externally, we have heard a lot of feedback that customers want to override these defaults.
You will be happy to know that in current builds these hardcoded defaults are now stored in FxCop's own CustomDictionary.xml rather than in a hardcoded embedded resource, so customers can now modify/override these.
Regards
David
bmacneal
Hi David;
If a word appears in the Unrecognized section of FxCop's CustomDictionary.xml, does it mean that we cannot avoid CA1704 simply by creating a custom dictionary for the project Do we have to modify FxCop's CustomDictionary If so, it means modifying installed XML file on many developer's machines.
Regards,
Mike