我正在尝试通过批处理文件运行 Fortify 命令。通常,在运行强化扫描时,我通过命令行使用这三个不同的命令:
sourceanalyzer -b buildId-clean
sourceanalyzer -b buildId devenv "mysolution.sln" /Rebuild Debug
sourceanalyzer -b buildId -scan -f "mysolution.fpr" -format fpr
现在运行第二个命令时,您需要 devenv 来完成翻译。调用此方法的最佳方法是什么?我尝试在运行批处理文件中的命令之前运行
VsDevCmd.bat
,但最终得到以下结果:
ERROR: Cannot determine the location of the VS Common Tools folder.
这甚至将
.bat
文件放在同一目录中,我称之为强化批处理文件。
我也致电 devenv.com 但收到此错误:
[错误]:适用于 Visual Studio 的 HPE Security Fortify 插件没有 执行;在此之前,没有翻译任何文件。确保 HPE Security Fortify 插件已安装。如果您正在运行 Visual Studio 2005 SP1,您还必须安装 KB934517 指示的修补程序。
这是批处理文件命令:
set SOURCEANALYZER=sourceanalyzer
set BUILDID="buildId"
set DEVCOMMAND="devenv.com"
set SOLUTIONFILE="mysolution.sln"
set ARGS="/Rebuild Debug"
%SOURCEANALYZER% -b %BUILDID% %DEVCOMMAND% %MYSOLUTION% %ARGS%
我的
VsDevCmd.bat
和devenv.com
来自VS2015目录。
据我了解,通过命令行运行时,
devenv
参数有三个选项:
devenv.exe
文件的完全限定路径,通常位于 C:\Program Files (x86)\Mircosoft Visual Studio x.0\Common7\IDE\devenv.exe
vsvars32.bat
命令之前调用 sourceanalyzer
,以将一些局部变量(例如 devenv
)设置为正确的路径。该文件位于C:\Program Files (x86)\Microsoft Visual Studio x.0\Common7\Tools\vsvars32.bat
。sourceanalyzer
命令。这与打开传统命令行窗口并执行vsvars32.bat
相同。如果您执行选项 2 或 3,您将能够简单地在
devenv
命令中使用变量 sourceanalyzer
,而选项 1 将需要命令中的硬路径,但如果您需要指定一个硬路径,则可能会很有用。用于构建的 Visual Studio 版本。