2011-01-11 3 views
1

FxCop 자동화를 테스트하고 있으며이를 검증하고 특정 규칙을 포착하고 있는지 확인하고자합니다. FxCop에서 AvoidCallingProblematicMethods 오류를 트리거하는 DLL을 만들고 싶습니다.AvoidCallingProblematicMethods 예외를 FxCop에서 선택하는 방법은 무엇입니까?

다음 코드가 있지만 AvoidCallingProblematicMethods 규칙을 전혀 트리거하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

// use one of the listed unsafe methods to create a problematic method 
// http://msdn.microsoft.com/en-us/library/bb385973.aspx for list of offending methods 
GC.Collect(); 

이 FxCop 규칙을 어떻게 트립 할 수 있습니까?

+1

같은 대답은 CA2001을 생성하는 적절한 규칙 집합을 선택하십시오. –

답변

3

Visual Studio 코드 분석을 사용하지 않고 독립 실행 형 FxCop을 사용하여 분석 했습니까?

FxCop이 AvoidCallingProblematicMethods 규칙을 지원하지 않으므로 코드가 확인되지 않습니다.

보다 정확하게 FxCop에는 안정성 및 유지 관리 규칙이 없습니다. AvoidCallingProblematicMethods 규칙은 안정성 규칙으로 분류됩니다.

here에서 VS 코드 분석 및 FxCop이 지원하는 코드 분석 규칙 비교표를 볼 수 있습니다. 당신의 FxCop 규칙 디렉토리에 VS2010 코드 분석 규칙을 복사 할 경우

UPDATE

는 페드로의 코멘트에서 볼 수있는 것처럼, 당신은의 FxCop에이 규칙을 사용할 수 있습니다. 의 FxCop 규칙에

  1. 백업 어셈블리 디렉토리 ("% PROGRAMFILES % \ 마이크로 소프트 의 FxCop 10.0 \ 규칙"기본적으로). 에서
  2. 복사 어셈블리 "% PROGRAMFILES % \의 Microsoft Visual 10.0 \ 팀 도구는 정적 분석 도구의 FxCop \ 규칙 \ \ 스튜디오"의 FxCop부터 규칙을로드 할 수 없습니다 DataflowRules.dll (제외의 FxCop 규칙 디렉토리 DataflowRules.dll).
+1

VS2010 규칙을 FxCop에로드 할 수 있습니다. 설치 장소를 알아두면됩니다. " \ Team Tools \ Static Analysis Tools \ FxCop \ Rules"에서 찾아야합니다. – Pedro

+0

@Pedro 정보를 제공해 주셔서 감사합니다. FxCop에서 신뢰성 및 유지 관리 규칙을 사용할 수 있습니다. –