Использование FxCop для анализа только последних изменений

Я пытаюсь заставить FxCop работать таким образом, чтобы он анализировал только добавочные изменения в exe/dll, которые он анализирует, а не все, поскольку он уже проанализировал эту часть... есть мысли, как можно этого добиться? ? ... заранее спасибо...

С уважением,

АСВ...


person ASV    schedule 22.03.2010    source источник


Ответы (2)


Я думаю, что было бы слишком много хлопот, чтобы это произошло. Мой совет: выберите правила FX COP, с которыми вы сможете жить, и удалите все ошибки/предупреждения из своего кода. Таким образом, если другой член команды что-то изменит, вы это заметите, если только он не пишет код, который проходит проверку. в этом случае проблем нет.

Если вы не работаете над каким-то масштабным проектом, проверка которого с помощью fxcop занимает целую вечность, я думаю, что это должно быть в порядке, и нет причин проверять только добавочные изменения.

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

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

person Mark Dickinson    schedule 22.03.2010
comment
Да... масштабные проекты - это то, что я не могу игнорировать, и мы находимся в процессе сглаживания процессов... так что нужно быть последовательным, мудрым решением для всех сценариев... есть мысли?? ... можем ли мы каким-либо образом использовать расширяемость VS ?? - person ASV; 22.03.2010
comment
Я подумал о такой вещи, как включение инкрементных сборок в проекте Visual Studio, а затем FxCop, работающий в процессе пост-сборки, позаботится обо всем остальном... для инкрементальных изменений в exe/dll.. хотя я сам сомневаюсь, что это произойдет, так что... - person ASV; 22.03.2010
comment
Вам следует рассмотреть возможность создания небольших проектов fxcop, которые работают с разными частями решения, а не с одним большим анализом. Некоторые проекты столкнутся с большими изменениями, чем другие. Если вы используете fxcop как часть сборки с непрерывной интеграцией, рассмотрите возможность использования разных сборок с более тяжелыми проектами fxcop, которые выполняются реже. - person Mark Dickinson; 22.03.2010
comment
Я не думаю, что сборка incremetal поможет. FxCop все равно проанализирует всю сборку. - person Mark Dickinson; 22.03.2010
comment
Спасибо, Марк... но как мы можем иметь несколько проектов FxCop для одного и того же exe/dll?? .. Я использую v1.36 и не могу найти способ сделать это .. не могли бы вы уточнить концепцию создания нескольких проектов FxCop для одного и того же exe/dll?? - person ASV; 22.03.2010
comment
Вам нужно разбить ваш exe/dll, если он стал настолько большим, что fxcop борется за производительность. Это будет лучший путь вперед, должны быть области сборки, которые можно переместить в новую dll, что позволит вам анализировать их отдельно. - person Mark Dickinson; 22.03.2010

Это похоже на этот вопрос.

Различные результаты fxcop

Можно, но результаты не будут на 100% точными. Короче говоря, вы запускаете анализ своей сборки и создаете отчет. После изменения сборки снова запустите анализ, настройте проект FXCop так, чтобы он сообщал только о новых ошибках, и импортируйте старый отчет в качестве базового. Лучше всего сделать это с помощью fxcopcmd.exe, а не пользовательского интерфейса.

Причина, по которой результаты не будут на 100 % точными, заключается в том, что сопоставить старый отчет с новым кодом — нетривиальная задача. Смещаются строки, рефакторинг кода, исправление нарушений, внесение новых нарушений и т. д. Таким образом, вы можете снова получить сообщения о некоторых нарушениях в измененных сборках, даже если о них сообщалось ранее. Но в целом, fxcop делает довольно приличную работу по созданию отчета о различиях.

person user358790    schedule 04.06.2010