FAQ: How do I run FxCop during a post-build event?
;
http://blogs.msdn.com/fxcop/archive/2007/02/24/faq-how-do-i-run-fxcop-during-a-post-build-event.aspx
VS.NET 2005 Team System에 "정적 코드 분석" 기능이 있는데요. 이것은 사실 "FxCop"의 기능을 IDE에 통합시킨 것에 불과합니다.
그런데, 문제는 FxCop의 "룰"들은 계속 버전업이 되어가는 반면 VS.NET 2005 Team System의 룰들은 그렇지 못하다는 것인데요.
예전에, 새로운 버전의 FxCop 의 룰들을 VS.NET 2005에 복사를 시도해 본적이 있었지만... 어찌된 일인지 그 둘간에는 호환되지 않아서 VS.NET 2005에서 오류만 발생시키게 됩니다.
참고로, VS.NET 2005 에 포함된 룰들은 다음의 경로에 저장되어 있습니다.
%Program Files%\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\Rules
제가 그 다음으로 시도해 봤던 것이... ^^ MSBuild 의 프로젝트 파일에 기존 FxCopCmd.exe 로 되어 있던 것을 새로운 버전의 FxCop으로 대체해 보는 것이었습니다. 음... 요건 조금하다가 ^^; 단념했는데요. 언제 시간 나면 다시 도전해 봐야 겠습니다. (혹시 성공하신 분은 공개 좀 해주시길... ^^)
암튼, "꿩대신 닭"이라고. MSBuild 에 통합시키지는 못했지만, 프로젝트 속성중에서 "Post-build event command-line" 설정을 통해서 새로운 버전의 FxCop 을 적용하는 방법을 위에 소개한 토픽에서 자세히 설명해 주고 있습니다.
보시면, "[Location not stored in Pdb]" 라는 문자열이 나오는데요. 이 부분은 무시하셔도 됩니다. 그 부분은 실제로 "소스 파일 위치"와 매핑되는 것이 아닌 룰에 속하기 때문인데요. 단지, 메시지만 그렇게 나오는 것일 뿐입니다.
[최초 등록일: ]
[최종 수정일: 2/26/2007]