.NET [SuppressMessage] приписывает в поставлющихся блоках fxcop

7
задан mherle 4 December 2008 в 04:01
поделиться

3 ответа

В главной схеме вещей я не думаю, что она действительно имеет значение. Так как это - атрибут (эффективно метаданные), они не влияют на производительность кода. Однако действительно помните, что информация в атрибуте доступна любому использующему disassember как Отражатель.

проблема с хранением их в файле проекта FxCop состоит в том, что необходимо тогда удостовериться, что все используют тот же файл проекта и что файл проекта всегда перемещается с проектом (в этом регистрируются к управлению исходным кодом, что означает, что необходимо проверить его каждый раз, когда Вы хотите выполнить FxCop).

, Если бы Вы не хотите атрибуты SuppressMessage в своем производственном коде, Вы должны были бы только определить символ CODE_ANALYSIS в сборке, против которой Вы выполняете FxCop. Это действительно означает определять его или на Вашей Настройке отладочного процесса или добавлять дополнительные конфигурации. Атрибуты будут только скомпилированы в в код, когда символ будет определен.

С автоматизированной/ночной точки зрения сборки, можно создать использование конфигурации, которой определили символ, и затем создайте производственный выпуск без символа или сделайте две сборки - один с символом определенный, выполненный FxCop для получения нарушений, и затем другой сборки без определенного символа.

2
ответ дан 7 December 2019 в 01:28
поделиться

Атрибут SuppressMessage будет только добавлен к Вашему коду, если определение препроцессора CODE_ANALYSIS будет присутствовать во время компиляции. Можно проверить это путем рассмотрения определения атрибута в Reflector.exe. По умолчанию это не определяется в Выпуске, таким образом, он не будет влиять на производственный код.

Как правило, я только выполняю FxCop на сборках ОТЛАДКИ моего блока, где CODE_ANALYSIS определяется.

7
ответ дан 7 December 2019 в 01:28
поделиться

Нам рассеяли тонну вокруг производственного кода, и мы особенно не заботимся. Это не производит перфект, и имеющий некоторый неработоспособное выглядящий атрибут в классе часто дает мотивацию для удаления его если вообще возможный.

1
ответ дан 7 December 2019 в 01:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: