2017-11-16 23 views
0

디버거 빌드 중에 소나 분석기를 사용하지 않도록 설정하려면 (SonarLint 확장을 사용하는 Visual Studio에서) 가능하지만 릴리스 빌드에서 활성화되어 있습니까? 솔루션을 SonarQube에 연결하면 빌드 시간이 크게 늘어났기 때문입니다.디버그 빌드 중 SonarLint 분석 사용 안 함

답변

2

디버그 구성에서 Visual Studio 내에서 솔루션을 작성하는 경우 .csproj 파일을 수정하여 분석기를 제거했습니다. 그렇게하면, 소나린트는 규칙이 시대에 뒤떨어 지거나 업데이트의 영향을받지 않는다고 불평하지 않습니다. 나는 다른 구성에 대해 서로 다른 규칙 세트를 선택합니다 내가 프로젝트 속성에서 "코드 분석"절을 사용하십니까 here

<Target Name="DisableAnalyzersForVisualStudioBuild" 
     BeforeTargets="CoreCompile" 
     Condition="'$(BuildingInsideVisualStudio)' == 'True' And '$(BuildingProject)' == 'True' And '$(Configuration)' == 'Debug'"> 
    <!-- 
    Disable analyzers when building a project inside Visual Studio. Note that analyzer behavior for IntelliSense purposes is not altered by this. 
    --> 
    <ItemGroup> 
    <Analyzer Remove="@(Analyzer)"/> 
    </ItemGroup> 
</Target> 
2

내가 생각할 수있는 유일한 방법은 룰셋을 복제하고 디버그 모드에 대한 규칙을 비활성화 (사용 불가능)하지만 릴리스 모드의 원래 룰 세트는 유지하는 것입니다. 이것은 SonarLint가 SonarQube의 품질 프로파일과 비교할 때 ruletset의 강도가 낮다고 불평 할 것이기 때문에 고통 스러울 것입니다. 게다가, 당신이 그것을 업데이트 할 때마다 아마도이 수동 조정을 깨뜨릴 것입니다.

+0

에서 대답을 얻었다? "코드 분석을 사용하도록 설정"이 선택되어 있지 않더라도 소나 분석기가 실행중인 것 같아요. – Narayana