FxCop столкнулся с проблемой использования строк форматирования в ресурсах с NON-Team System Visual Studio - PullRequest
3 голосов
/ 06 августа 2009

Я запустил FxCop для одного из проектов, над которым я работаю, и получил множество предупреждений, которые выглядят следующим образом:

CA1703: Microsoft.Naming: In ресурс 'MyProject.Properties.Resources.resx', ссылается на имя «MyString», исправить написание «Myyyy» в string value 'Некоторая строка формата: {0: dMMMyyyy} '

Поскольку Resources является сгенерированным классом, я не могу просто подавить эти сообщения, используя обычный механизм. У кого-нибудь есть яркие идеи, как мне обойти эту проблему?

Редактировать : Просто чтобы прояснить ситуацию (поскольку я не знал, что с Team System все по-другому), я заинтересован в решениях, не относящихся к Team System, в частности для MS Visual Studio Pro 2008

Ответы [ 4 ]

3 голосов
/ 12 августа 2009

Я закончил тем, что отключил проверку орфографии для ресурсов, установив Нейтральный язык сборки в ничто, то есть в AssemblyInfo.cs, я добавил эту строку:

[assembly: NeutralResourcesLanguage("")]

Это как предложено здесь .

3 голосов
/ 06 августа 2009

Если вы не хотите, чтобы правила именования применялись к ресурсам, просто отключите это правило в настройках проекта.

  1. Щелкните правой кнопкой мыши проект в дереве проекта
  2. Нажмите «Свойства»
  3. Перейти на вкладку «Анализ кода»
  4. Развернуть ветку "Правила именования"
  5. Отключить CA1703

Если вы просто хотите подавить определенные ресурсы, вы можете подавить их в файле глобального подавления. Обычно это доступно по правой клавише мыши в списке ошибок Visual Studio.

  1. Щелкните правой кнопкой мыши по сообщениям CA в списке ошибок
  2. Выберите «Подавить сообщения»
  3. Выберите «В файле подавления проекта»
1 голос
/ 10 августа 2009

FxCop (автономный) и интегрированный анализ кода поддерживают использование пользовательского словаря.

Создайте файл с именем CustomDictionary.xml. Добавьте следующую структуру XML с новыми словами (без учета регистра) под узлом.

<Dictionary>
    <Words>
        <Recognized>
               <Word>aNewWord</Word>
               <Word>AnotherNewWord</Word>
        </Recognized>
    </Words>
</Dictionary>

Чтобы использовать словарь со всеми проектами, поместите файл в каталог установки FxCop (обычно это C: \ Program Files \ Microsoft FxCop). Для специальных словарей проекта поместите файл в отдельный каталог вместе с файлом проекта. Чтобы слова были распознаны, вы должны закрыть и перезапустить FxCop после создания или изменения пользовательского словаря. Вы также можете включить файл в проект Visual Studio и установить для свойства файла Build Action значение CodeAnalysisDictionary.

1 голос
/ 06 августа 2009

Вместо того, чтобы отключать правило для всего проекта или вручную исключать все нарушения, вы можете отключить анализ сгенерированного кода в:

Project > Options > Spelling & Analysis
Check Suppress analysis results against generated code
...