2008-09-16 4 views
9

Visual Studio 코드 분석기 (FxCop)를 사용할 때 메시지를 표시하지 않으려면 다음 세 가지 옵션이 있습니다.전 세계적으로 FX 경찰 코드 분석 위반을 억제 할 수 있습니까?

  1. 코드 위반을 억제하십시오.
  2. GlobalSupression.cs 파일에서 위반을 억제하십시오.
  3. 프로젝트 파일에서 위반 체크를 비활성화하십시오 (프로젝트 -> 등록 정보 -> 코드 분석).

나중에 소스 제어에 체크인 할 때 검토하기가 어렵고 사용 중지 된 모든 위반에 대한 개요를 얻는 것은 어렵습니다. 따라서 옵션 2를 사용하고 싶습니다.

옵션 1과 2의 문제점은 각 위반에 대해 하나의 억제 라인을 얻는 것입니다. 예컨대 같은 :

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace2")] 
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace1")] 

우리는이 보내고 GlobalSuppressions.cs 같은 것을 할 싶어요 :

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes")] 

를하지만이 가능할까요?

답변

9

SuppressMessage 속성을 사용하여 여러 번의 위반을 억제하는 것은 공식적으로 지원되지 않습니다. 분명히 이것은 의도적으로 설계된 것입니다.

나는 동의한다, 때때로 성가시다. 그러나 나는 그 결정이 당신이 "네가하고있는 일을 안다"고 말할 것을 강요하는 그들의 방법이기 때문에 나는 그 결정에 동의하지 않는다고 말할 수 없다. 는 사례별로 평가되어야한다.

1

이 질문이 게시되고 답변 된 이후로 상황이 변경된 것 같습니다. Visual Studio 2010 및 2012에서는 억제 할 코드 분석 규칙을 지정할 수있는 사용자 지정 "규칙 집합"파일을 만들 수 있습니다.

http://msdn.microsoft.com/en-us/library/dd380660.aspx

그래서 내가 무슨 짓을했는지 나의 저장소 소스 컬렉션의 최상위 폴더에 하나의 사용자 정의 규칙 세트 파일을 만드는 것입니다, 나는 각각의 비주얼 스튜디오 프로젝트에서이 파일을 참조합니다. 즉, 내가 할 수없는 코드 분석 규칙을 억제 할 수있는 중심적인 장소가 하나 있다는 것을 의미합니다. 그러나 내가 마음을 바꾸거나 잘못된 코딩 습관을 재고해야한다고 결정한 경우 규칙을 다시 간단하게 적용하고 얻을 수있는 코드 분석 메시지의 수를 확인할 수 있습니다.