1. STATIC C#분석 수행 시 Complation 오류 발생한 경우

  1. Visual Studio Common 매크로 때문에 발생하는 오류

  2. Visual Studio 버전 문제

  3. Configration, Flatform 설정이 맞지 않는 경우

<aside> 💡 NetAnalyzer.ini의 항목을 아래와 같이 수정하면 해결할 수 있습니다.

=== 기본 ===

[VERSION] VS_VERSION=Latest

[PROPERTY] PREBUILD_PROPERTY= ANALYSIS_PROPERTY=

[COMPILATION] CONFIGURATION=Release PLATFORM=AnyCPU

[ANALYSIS] OPEN_SOLUTION=Y NEED_PREBUILD=N

[REPORT] REPORT_ALL=N

=== 수정 예시 === [VERSION] VS_VERSION=2017 /* 분석하려는 Visual Studio 버전을 지정합니다. ex) 2017, 2019, 2022, … */

[PROPERTY] PREBUILD_PROPERTY=OutPath;..\..\bin\ /* 빌드에 필요한 property를 추가 합니다. ex) OutPath, ProjectDir, … / ANALYSIS_PROPERTY=SolutionDir;D:\path\ / 분석에 필요한 property를 추가 합니다. ex) OutPath, ProjectDir, … */

[COMPILATION] CONFIGURATION=Debug /* 분석의 cofigruration 지정 / PLATFORM=x64 / 분석 플랫폼 지정

[ANALYSIS] OPEN_SOLUTION=N /* 솔루션 전체를 열어 분석할지 지정 / NEED_PREBUILD=Y /* 분석기 수행전에 msbuild 수행 */

[REPORT] REPORT_ALL=Y /* 심각도가 매우 낮음, 기타인 결함도 출력 */

NetAnalyzer.ini는 실행되는 경로에 함께 있으면 우선적으로 이 경로를 찾고, 분석 대상 솔루션 파일이 있는 폴더에 복사에서 작성하면 해당하는 ini 파일을 읽어 설정을 적용합니다.

</aside>

2. Time out으로 특정 모듈의 메트릭이 측정되지 않는 경우

아래와 같은 로그가 확인 되는 경우

[INFO ] [NetAnalyzerExecutor] [DEBUG] Set timeout as 180000 milliseconds
[INFO ] [NetAnalyzerExecutor] [INFO] [1/2] FTFIEE.Infrastructure
[INFO ] [NetAnalyzerExecutor] [DEBUG] Calculating for 68 files...
[INFO ] [NetAnalyzerExecutor] [DEBUG] The thread aborted.
[INFO ] [NetAnalyzerExecutor] [DEBUG] Thread was being aborted.
[INFO ] [NetAnalyzerExecutor] [WARNING] Timeout occurred : FTFIEE.Infrastructure

https://suresofttech.atlassian.net/browse/STCS-2875

C# 분석기 추가 기능