Как найти "маскированные" утверждения в контрактах MS Code

У меня есть следующая запись уровня сообщения в моем списке ошибок из CodeContracts:

CodeContracts: проверено 410 утверждений: 404 правильно (6 в масках)

Я не могу понять:

  • Какие маскированные утверждения
  • Как найти 6, которые он упоминает
  • Должен ли я быть обеспокоен ими?

Извините, что не отправлял код... Я не знаю, как воссоздать это в небольшом примере:)

Большое спасибо

Ответ 1

Это просто, в ваших свойствах проектa > Контракты кодa > Статическая проверкa > поставьте предупреждение на "привет".

Теперь ccCheck сделал больше предупреждений.

Bye.

Ответ 2

Кажется, это утверждения, которые маскируются в силу их включения в файл "базовый". Из документации (основное внимание):

6.6.8 Исходный уровень

Приведение существующей базы кода в точку, в которой verier испускает только несколько предупреждений, является сложным и трудоемким, так как требует добавления многочисленных контрактов. Для упрощения использования контрактов на существующих базовых кодах и для фокусировки предупреждений, введенных в результате изменения нового кода или кода, можно использовать функциональные возможности Baseline.

Чтобы использовать базовые функции, установите флажок Baseline и укажите имя файла для хранения базовой линии. Путь относится к выходному каталогу проекта. Когда анализ выполняется, а базовый файл не существует, создается базовый уровень. Во время этого запуска все предупреждения отображаются на выходе и сохраняются в базовом файле как XML.

Когда анализ выполняется и базовый файл существует, базовая линия действует как фильтр, а предупреждения, уже найденные в базовой линии, больше не отображаются. Новые предупреждения отображаются и сохраняются в файле с именем <baseline>.new, где <baseline> - имя файла базового файла. Поскольку файлы хранятся в виде текстового XML, их можно редактировать и добавлять дополнительные отказы в базовую линию. Формат не зависит от упорядочения методов, и дополнительные XML-теги для группировки могут быть введены свободно.

Мне тоже было интересно о "замаскированных" сообщениях; Я отключил опцию "базовый уровень", и они больше не появлялись. Таким образом, ответ на ваш второй вопрос, похоже, "очистите флажок" базовый уровень ".

Что касается вас, вы должны быть обеспокоены ими, я бы сказал, да, вы должны.