最近,我安装了Visual Studio 2015,并使用以下命令对解决方案进行了代码分析:
msbuild.exe MySolution.sln /p:RunCodeAnalysis=true
其中/p:RunCodeAnalysis=true
执行代码分析。实际上,这调用位于
C:\Program Files(x86)\Microsoft Visual Studio 14.0\Team Tools\Static AnalysisTools\FxCop\FxCopCmd.exe
中的FxCopCmd.exe。
代码分析旨在取代FxCop,但实际上代码分析执行自己的FxCopCmd.exe。
也许我错过了什么,但VS Code分析和FxCop之间有什么区别?
msbuild.exe MySolution.sln /p:RunCodeAnalysis=true
(它也启动了代码分析)时,实际上是启动了C:\Program Files(x86)\Microsoft Visual Studio 14.0\Team Tools\StaticAnalysisTools\FxCop\FxCopCmd.exe
命令。这不就相当于直接执行FxCop吗? - Pinte Danifxcopcmd.exe
,该任务在fxcoptask.dll
程序集中定义(您可能会在C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ CodeAnalysis
文件夹中找到它)。 这个任务所做的就是通过将MSBuild属性转换为命令行开关参数来构造fxcopcmd.exe
的命令行。 如果您愿意,当然可以手动构造相同的命令行。 - Nicole Calinoiu<RunCodeAnalysis>true</RunCodeAnalysis>
添加到 .csproj 文件来执行代码分析,或者通过从命令行执行C:\Program Files(x86)\Microsoft Visual Studio 14.0\Team Tools\Static AnalysisTools\FxCop\FxCopCmd.exe
来获得相同的结果。 - Pinte Dani