我正在尝试通过批处理文件运行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 安装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 目录。
答案 0 :(得分:1)
根据我的理解,在通过命令行运行时,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。