1. STATIC C#분석 수행 시 SoltuionBuilder 오류 발생한 경우
<aside>
💡 STATIC C# 분석 중 SolutionBuilder 단계에서 오류 발생 시 아래와 같이 수행
</aside>
- Visual Studio에서 분석할 솔루션을 빌드한다. (빌드 시 설정된 Configuraton(Debug, Release)과 Platform(x86, x64, Anay CPU) 정보를 확인)
- 기존 static C# 분석 명령어 뒤에 -c 옵션과 -nc 옵션을 추가하여 실행
- static-csharp -k STATIC -s {STATIC_SERVER_ADDRESS} -i EXAMPLE.sln -c “{configuration}|{Platform}” -nc
- -c 옵션은 위에 Visual Studio에서 빌드한 옵션과 동일하게 입력 ex) -c “Debug|Any CPU”
- -nc 옵션을 추가하여 분석 수행 시 soulution Builder가 No Compile Mode로 실행되고 -c 옵션으로 입력받은 정보를 통해 원본 솔루션 각 프로젝트들의 Output Path만 수집하여 분석 수행
- ex) Static-csharp -k CSHARPTEST -s 211.116.223.28 -i Csharp.sln -c “Debug|Any CPU” -nc
2. 분석 수행 시 FxCopExecutor에서 오류 발생한 경우
-
SolutionBuilder 단계에서 실패하여도 이후 FxCop 또는 StyleCop 분석으로 넘어가는 경우가 있는데 로그 확인이 필요함
-
아래와 같이 SolutionBuilder 마지막 부분에서 Output Path를 검출하지 못하여 is not exist 오류가 발생하여 main 로그부분에서 FxCop execution will be skipped와 같은 경고가 발생함
-
이런 경우도 위와 동일하게 -c 옵션 및 -nc 옵션 추가를 통해 처리
3. 기타 이슈
- 분석 완료 후 룰셋이 모두 활성화 되어 있으나 FxCop 관련 위배(CA로 시작하는 위배)가 발생하지 않는 경우 로그 확인이 필요함
- .NetCore 프레임워크 이슈
-
대부분의 경우 1번 이슈와 같이 SoultionBuilder 실패로 인해 FxCop이 Skip 되는 경우 해당 이슈 발생하므로 위와 같이 초치가 필요함
-
FxCop의 경우 현재 .NetFramework만 지원하고 있어 분석 프로젝트의 프레임워크가 .NetCore인 경우 아래와 같은 오류가 발생함
-
따라서 .NetCore 프로엠워크 프로젝트의 경우 FxCop이 지원하지 않아 분석이 불가능하다고 가이드 필요
- C# WPF 프로젝트 분석 이슈
- C# 분석 시 소즈 정보를 수집하는데 WPF 프로젝트의 경우 컴파일 시 자동생성되는 xaml 코드에 대한 g.cs 및 g.i.cs 파일이 같이 수집되어 분석 실패가 발생하는 이슈가 있었음
- 해당 이슈의 경우 Client C# 1.2.4.p1 패치에 적용되어 이전 버전에서 WPF 프로젝트 분석 시 오류가 발생할 수 있음
- Toolbox에서 C# 클라이언트 설치 실패 이슈
- C# 클라이언트 설치시 내부적으로 설치되는 3rd party 패키지 중 Client C# 1.2.4.p3 패치에서 추가된 특정 패키지의 파일명 길이가 기존 툴박스 서비스에서 처리할 수 있는 범위를 초과하여 설치시 오류가 발생하여 Toolbox 패치가 됨
- 해당 패치 완료되어 최신 Toolbox에서 발생하지 않으며 혹시 이슈 발생 시(예전 toolbox 사용 등) 황상두 전임에게 문의
- Visual Studio 버전 이슈
- Client C# 설치시 기존에 Visual Studio가 설치되지 않은 경우 BuildTools를 통해 MSBuild를 별도로 설치하여 사용함
- Visual Studio가 설치된 경우 함께 설치되는 MSBuild를 사용하는데 Visual Studio가 Professional이 아닌 Community 버전인 경우 분석이 실패하는 이슈가 있음
- FxCop, StyleCop 분석 분리 요구사항
- STCS-887
- 티켓 코멘트 내용과 같이 현재 기능 변경 시 다른 Side-Effect 등을 고려하면 패치에 시간이 오래 걸리므로 추후 로드맵에 반영하기로 하고 마무리 함
- C# Metric Comment Line 계산 요구 사항
- STCS-695
- C# Metric에 Comment Line이 추가되었으면 좋을 것 같다고 하였으나 로드맵에서는 반영되지 않아 임시로 구현 진행함
- Git에 Commit 해둠. STCS-695
- FxCop Visual Studio 버전 이슈
- STCS-703 티켓 참고
- STCS-1375 - 레거시한 환경변수로 인해 최신 버전으로 C# client 실행되지 않아서 발생한 이슈
- STCS-1667 - -nc 옵션을 줄 때 오류가 발생
- 빌드 떨어지는 경로를 개발자가 임의로 지정하는 경우 빌드 산출물들을 찾지 못하는 이슈가 있음