Файлы для перенастройки и набора правил

#resharper #fxcop #rule-engine

#повторная обработка #fxcop #механизм создания правил

Вопрос:

Я создал проект и добавил файл набора правил. Затем я специально нарушил правило, чтобы убедиться, что оно работает, но это было не так.

Вот правило, которое я включил.

CA2211 — Microsoft.Использование — «Непостоянные поля не должны быть видны».

Неправильный код:

 public class Foo
{
    public string foobar = "Hello World";
}
  

Он компилируется просто отлично, без предупреждений или ошибок. Я думаю, это может быть связано с переопределением ReSharper? Я не уверен. Есть мысли о том, как это исправить?

Комментарии:

1. Вероятно, это вопрос / ошибка, которую вы хотите отправить в JetBrains.

Ответ №1:

Согласно сравнению продуктов Visual Studio 2010

Если вы используете VS 2010 Premium или Ultimate, у вас должен быть доступен «Статический анализ кода». Если это так, и эта функция не отображается, вы можете подумать о переустановке Visual Studio. Если вы не используете ни то, ни другое, у вас не будет доступа к этой функции, извините.

Тем не менее, вы все еще можете использовать FxCop для проверки вашего кода.


ПРИМЕЧАНИЕ: Ссылка находится на FxCop 10.0.

Ответ №2:

CA2211 проверяет только статические поля. Если вы хотите также проверять поля экземпляра, вам следует включить CA1051 (Microsoft.Дизайн.Не объявляйте видимые постоянные поля).

Комментарии:

1. Ну, в итоге я проверил ВСЕ поля (все правила) для набора правил …. он по-прежнему не выдает мне никаких предупреждений, когда я делаю неправильное кодирование. Я думаю, что просто ReSharper каким-то образом взял на себя эту работу.

2. Когда вы говорите, что «добавили файл набора правил», вы просто добавили файл в проект, или вы действительно указали его как набор правил для проекта (например: через страницу анализа кода в диалоговом окне свойств проекта)?

3. У меня нет опции «Анализ кода» в моем диалоговом окне свойств. Я думаю, что раздел был удален из-за resharper. Я помню, что видел это заранее. :-/

4. У нас есть ReSharper, и у нас есть страница «Анализ кода» в свойствах проекта. Поэтому, если в вашей настройке нет чего-то необычного, я не думаю, что проблема в ReSharper. Вы пробовали отключить ReSharper, просто чтобы посмотреть, есть ли разница?