CA1704 - Microsoft, похоже, блокирует слово "Multi"?
public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly
Когда я запускаю Code Analysis, я получаю сообщение об ошибке, потому что Microsoft не распознает слово "Multi" (идите, они используют его в IMultiValueConverter
). Итак, что я сделал, чтобы исправить это, нужно добавить файл CodeAnalysisDictionary.xml и следовать инструкциям здесь. Тем не менее, похоже, что это не помогает, я все равно получаю сообщение с кодом анализа.
Чтобы убедиться, что это не ошибка с признанным разделом слов, я добавил еще один класс и другое исключение.
public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly
public class MutiiSomething { } //NO WARNING
<Dictionary>
<Words>
<Recognized>
<Word>Multi</Word> <-- This seems to not do anything... -->
<Word>Mutii</Word> <-- This actually does something... -->
</Recognized>
</Words>
</Dictionary>
Альтернативой исправлению является использование SuppressMessage, хотя это не очень подходящее решение, если я планирую использовать это слово повсюду.
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Multi")]
public class MultiSomething { } //NO WARNING (Suppressed)
Действительно ли Microsoft блокировала "Multi" от добавления к распознанным словам?
Ответы
Ответ 1
Вы можете обратиться к этому билету обратной связи. Это, по-видимому, по дизайну.
Поведение, которое вы видите, связано с тем, что Code Analysis поставляется с заранее определенным пользовательским словарем, который всегда переопределяет любые другие пользовательские словари при конфликте. В этом случае "multi" указывается как "непризнанный > слова в стандартном словаре FXCop.
Чтобы устранить эту проблему, откройте словарь по умолчанию% VS Install Directory%\Team Tools\Static Analysis Tools\FxCop\CustomDictionary.xml и закомментируйте или удалите запись "multi" из <unrecognized> раздел слов; "multi" больше не будет помечен как орфографическая ошибка в анализе кода.
Ответ 2
попробуйте добавить это в свой customdictionary
<Deprecated>
<Term PreferredAlternate="Multi">multi</Term>
</Deprecated>
Ответ 3
Вы можете добавить XML файл с сокращениями Word и т.д.
Добавьте ваш XML файл и установите Build Action = CodeAnalysisDictionary
<?xml version="1.0" encoding="utf-8" ?>
<Dictionary>
<Words>
<Unrecognized>
<Word></Word>
</Unrecognized>
<Recognized>
<Word>Multi</Word>
</Recognized>
<Deprecated>
<Term PreferredAlternate=""></Term>
</Deprecated>
<Compound>
<Term CompoundAlternate=""></Term>
</Compound>
<DiscreteExceptions>
<Term>PostDate</Term>
</DiscreteExceptions>
</Words>
<Acronyms>
<CasingExceptions>
<Acronym></Acronym>
</CasingExceptions>
</Acronyms>
</Dictionary>