2011-11-26 2 views
2

누구나 특정 조건부 컴파일 기호를 검사하는 FXCop 규칙을 작성하는 방법에 대해 조언 할 수 있습니까?조건부 컴파일 기호를 검사하기 위해 사용자 정의 FXCop 규칙을 작성하려면 어떻게해야합니까?

예를 들어 컴파일 코드 "CODE_ANALYSIS"가 정의되어 있는지 확인한 FXCop 규칙을 작성하려면 어떻게해야합니까?

내가 생각할 수있는 유일한 방법은 .csproj 파일을 구문 분석하고 찾아 보는 것입니다. 현재 빌드에서 빌드 조건 중 어느 것이 충족되었는지 판별해야하므로이 방법이 빨리 지저분해질 것이라고 생각합니다. 다른 제안은 감사하겠습니다.

답변

2

FxCop이 컴파일 된 코드에서 작동하고 컴파일 된 코드가 생성되면 컴파일 기호의 개념이 제거됩니다 (컴파일러에서 컴파일 된 코드를 생성하기 위해 컴파일러에서 사용하지만 실제로는 생성되지 않습니다).).

내가 할 수 있다고 생각하는 것은 CODE_ANALYSIS 심볼 내에 코드가 있고 FxCop에 코드가 있는지 확인하는 것입니다.

+0

예. 그것이 내가 생각했던 거죠. 어쨌든 주입 된 사전 빌드를 얻을 수있는 속성과 같은 것을 만들면 어떨지 궁금해합니다. MSBuild를 사용하여이 작업을 수행해야합니다. –

+0

내가 말했듯이, 그냥'#if CODE_ANALYSIS' 섹션 사이에 뭔가 넣은 다음 FxCop에서 찾으십시오. –

+0

제 목적을 위해서 모든 종류의 확장을 사용하여 모든 프로젝트에 코드를 주입해야합니다. VS 확장을 작성해야하기 때문에 확장에 빌드하기 전에 적절한 상수를 찾아 볼 수도 있습니다. –