2010-04-14 1 views
5

fxcop을 사용하여 동일한 dll의 두 가지 다른 버전을 분석 할 것입니다. 두 보고서의 차이점 만 표시하고 싶습니다. 이것이 가능한지 아는 사람이 있습니까?2 개의 fxcop 결과 비교

감사합니다.

+0

이것을 완료 할 수 있었습니까? –

답변

2

예, 가능하지만 내장 도구가 없습니다. 한 가지 간단한 방법은 diff 도구를 사용하여 두 보고서를 비교하는 것입니다. 결과가 너무 시끄러운 경우 다른 방법은 두 보고서의 XML을 비교하는 자체 도구를 굴리는 것입니다.

2

UI 또는 명령 줄을 사용하고 있습니까?

명령 줄 도구를 사용하면 여러 가지 옵션을 사용할 수 있습니다. 그 중 하나는 이전 보고서를 가져 와서 기준으로 사용하는 것입니다. 그런 다음 새 오류 만보고하도록 fxcop 프로젝트를 설정합니다. Report Status = "Active, Absent"NewOnly = "True"

명령 줄은 다음과 같습니다. fxcopcmd.exe /i:OldVersionReport.xml/out : NewVersionReport .xml /p:FXCopProject.fxcop /f:mydll.dll

새 보고서에는 새로운 활성 오류 및 이전 버전의 누락 된 고정 오류 목록 만 표시됩니다.

이 방법이 효과적 일지 모르지만 그 차이가 100 % 뛰어나지는 않을 것이라는 점을 이해해야합니다. FXCop은 오래된 보고서를 새 버전의 DLL과 일치시키기 위해 최선을 다하지만 때로는 실패합니다. 예를 들어 특정 위반을 코드의 어딘가에서 수정했지만 동일한 유형의 위반을 다른 장소에 추가 한 경우 FXCop은이를 놓치고 차이를 보이지 않을 것입니다.

0

FxCop VS 2010의 경우 이전에 생성 된 FxCop 파일 /import:"OldFile.xml"과 함께 /saveMessagesToReport:Absent 만 있으면됩니다. 그냥 예.

 fxcopcmd.exe /import:"c:\Old.xml" /summary "/file:c:\*.dll" 
    /saveMessagesToReport:Absent /out:"c:\Output.xml"