Интегрировать PVS-Studio в файл MSBuild

У меня есть много проектов, для которых я создал общий файл MSBuild для запуска. Я пытаюсь интегрировать статический анализ PVS Studio в сборку без повторной сборки. Я следовал за небольшой документацией на сайте PVS, но я должен что-то упустить. Я говорю это потому, что когда я строю PVS, мне не кажется, что это вызвало / вызвало. Кто-нибудь имеет опыт работы с этим и может мне помочь?

Вот немного PVS моего файла сборки.

 <UsingTask TaskName="ProgramVerificationSystems.PVSStudio.PVSStudio" 
    AssemblyFile="C:\Program Files (x86)\PVS-Studio\PVS-Studio-MSBuild.dll" />
    <Target Name="PVSStudioAnalysisBeforeCompile" BeforeTargets="ClCompile">
    <Exec Command="echo PVSStudio initiating now."/>
    <PVSStudio Condition="'%(ClCompile.ExcludedFromBuild)'!='true'" 
        Sources="@(ClCompile)" 
        BeforeClCompile="true" 
        BuildingInIDE="false" 
        TrackerLogDirectory="%(ClCompile.TrackerLogDirectory)" 
        PreprocessorPath="$(VCInstallDir)" 
        Platform="$(Platform)" 
        ProjectFullPath="$(MSBuildProjectFullPath)" 
        SolutionDir="$(SolutionDir)">
     <Output TaskParameter="SourcesAfterTlogParsing"    
        ItemName="CLCompileAfterTlogParsing" />
     </PVSStudio>
   </Target>
<Target Name="PVSStudioAnalysisAfterCompile" AfterTargets="ClCompile">
<PVSStudio Sources="@(CLCompileAfterTlogParsing)" 
    BeforeClCompile="false" 
    BuildingInIDE="$(BuildingInsideVisualStudio)" 
    PreprocessorPath="$(VCInstallDir)" 
    OutputFilePath   ="$(OutputDir)" 
    Platform="$(Platform)" 
    ProjectFullPath="$(MSBuildProjectFullPath)" 
    SolutionDir="$(SolutionDir)" />
<Exec Command="echo PVSStudio finished"/>

Я уверен, что вам всем понадобится немного больше информации, чтобы понять это, поэтому дайте мне знать, что я должен получить для вас.

Спасибо,

ТБГ

1 ответ

Решение

Вы должны сделать одно из следующего:

  1. Если вы хотите, чтобы вывод анализатора был сохранен в файл, вы должны установить BuildingInIDE приписывать false в обеих задачах вы также должны указать файл для вывода, который будет сохранен, например, в OutputFilePath = "$(OutputDir)"/pvs.log, Вы сможете просмотреть такой журнал из плагина IDE PVS-Studio / Standalone, открыв его как unparsed log,

  2. Если вы хотите построить свой проект изнутри Visual Studio а также PVS-Studio плагин, чтобы сразу подключить результаты анализатора к выходному окну, тогда вы должны установить оба BuildingInIDE приписывает true (или же "$(BuildingInsideVisualStudio)") и включите MSBuild режим, перейдя в PVS-Studio -> Options -> Specific Analyzer Settings -> MSBuild Output Log Monitoring и установите его true,

Другие вопросы по тегам