У меня есть много проектов, для которых я создал общий файл 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"/>
Я уверен, что вам всем понадобится немного больше информации, чтобы понять это, поэтому дайте мне знать, что я должен получить для вас.
Спасибо,
ТБГ
Вы должны сделать одно из следующего:
Если вы хотите, чтобы вывод анализатора был сохранен в файл, вы должны установить BuildingInIDE
приписывать false
в обеих задачах вы также должны указать файл для вывода, который будет сохранен, например, в OutputFilePath = "$(OutputDir)"/pvs.log
,
Вы сможете просмотреть такой журнал из плагина IDE PVS-Studio / Standalone, открыв его как unparsed log
,
Если вы хотите построить свой проект изнутри Visual Studio
а также PVS-Studio
плагин, чтобы подключить результаты анализатора к выходному окну немедленно, тогда вы должны установить оба BuildingInIDE
приписывает true
(или же "$(BuildingInsideVisualStudio)"
) и включите MSBuild
режим, перейдя в PVS-Studio -> Options -> Specific Analyzer Settings -> MSBuild Output Log Monitoring
и установите его true
,