2014-02-10 7 views
4

Есть ли способ изменить пороговые значения для правил CodeAnalysis?Пользовательский порог для CA1502

В частности, мы хотели бы нашу сборку потерпеть неудачу, когда метод имеет код сложности более чем 20. К сожалению, правило CA1502 имеет порог 25:

Правило сообщает о нарушении, когда цикломатическое сложность более 25.

Можем ли мы как-то изменить это?

ответ

2

Да, это возможно. К сожалению, единственный способ предоставить настройки настраиваемого правила для настраиваемого правила - через файл проекта .fxcop, который не интегрируется с VStudio с плавным ходом из-за порядка, в котором обрабатываются набор правил и файлы проекта. В принципе, если вы хотите использовать как файл набора правил, так и файл проекта, вам нужно будет включить список всех файлов библиотеки правил в файл проекта с отключенными правилами. Затем вы сможете контролировать, включены ли правила или запрещены с помощью набора правил. Как только это все готово, вы можете настроить параметры для цикломатическим правила сложности с использованием Settings секции, как следующее (при условии, что ты в порядке со всеми порогами быть установлен в 20):

<Settings> 
    <Rule TypeName="AvoidExcessiveComplexity"> 
     <Entry Name="Warning Threshold">20</Entry> 
     <Entry Name="Information Threshold">20</Entry> 
     <Entry Name="Critical Warning Threshold">20</Entry> 
     <Entry Name="Critical Error Threshold">20</Entry> 
     <Entry Name="Error Threshold">20</Entry> 
     <Entry Name="Recommended Threshold">20</Entry> 
    </Rule> 
</Settings> 
Смежные вопросы