我喜欢VS2012中包含的代码分析功能。但是令人烦恼的是,警告只能在“代码分析”窗口中处理,而不能通过按下F4来逐步查看构建输出。
有没有办法克服这个限制?如何将静态代码分析的输出格式化为正常的编译器输出(即不仅打印文件名,而是打印正在检查的文件的正确路径)?
我没有使用FxCop,因为我正在使用非托管代码。
有没有办法克服这个限制?如何将静态代码分析的输出格式化为正常的编译器输出(即不仅打印文件名,而是打印正在检查的文件的正确路径)?
我没有使用FxCop,因为我正在使用非托管代码。
针对非托管代码分析,MSBuild脚本使用/analyze:quiet
而不是/analyze
以避免将结果写入错误列表。要更改此行为的最简单方法是修改您的Microsoft.CodeAnalysis.Targets
文件(通常位于C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ CodeAnalysis \ Microsoft.CodeAnalysis.Targets
),避免指定安静模式。即:更改该行。
<AdditionalOptions Condition="'$(PlatformToolsetVersion)'>='110'">%(ClCompile.AdditionalOptions) /analyze:quiet</AdditionalOptions>
to
<AdditionalOptions Condition="'$(PlatformToolsetVersion)'>='110'">%(ClCompile.AdditionalOptions) /analyze</AdditionalOptions>
fxcopcmd.exe
可执行文件进行分析,而CodeAnalysisAdditionalOptions
则插入了命令行选项以进行调用。如果你增加了VS构建输出的详细程度,你就能在VS输出窗口中看到任务生成的完整命令行。 - Nicole Calinoiu