我正在尝试在Visual Studio 2008项目中进行强化。该项目独自成功建立。当我尝试使用Visual Studio集成控件通过Fortify分析项目时,该项目成功构建,但会抛出错误消息。这是Fortify Console的输出:

Fortify SCA...
Running: "-show-runtime-properties" 
Running: "-b" "ProjectName" "-clean" 
Error setting VCProject Path. Abort VC project related scan
Scan Failed Could not load file or assembly 'Microsoft.VisualStudio.VCProjectEngine, Version=8.0.0.0, Culture=neutral, PublicKeyToken=<string here>' or one of its dependencies. The system cannot find the file specified. 
   at FortifyBase.Scanner.CPPScanUtil.ResetVCProjectExecutableDirectories()
   at FortifyCommon.Scanner.BuildListeners.VSBuildDone(vsBuildScope scope, vsBuildAction action)
Scan Failed: 
Could not load file or assembly 'Microsoft.VisualStudio.VCProjectEngine, Version=8.0.0.0, Culture=neutral, PublicKeyToken=<string here>' or one of its dependencies. The system cannot find the file specified.

当我从独立的审核工作台加固时,我会收到以下错误消息:

SCA Commandline invocation failed
[error]: Build ID "ProjectName" doesn't exist.

我将大多数默认扫描选项保留在更改“这是J2EE Web应用程序”之外的“否”(我也尝试将其保留为“是”),但这也不起作用。

搜索有关错误消息的任何信息,只会产生另一个信息 问题 在Stack Overflow上,该项目设置似乎与我的Visual Studio Project完全不同。无论如何,我还尝试使用Visual Studio提供的参数从命令行运行扫描,但我收到了相同的错误消息。

强化文档提到构建ID用于跟踪作为构建的一部分编译和链接的文件,然后扫描这些文件,通常是项目名称。我尝试了一些不同的字符串,就像构建ID一样,但似乎没有任何作用。

有人知道我要去哪里吗?提前致谢。

更新: :问题发生在分析的翻译阶段,根本无法创建构建ID。这是来自Sourceanalyzer日志的日志:

[2010-08-23 21:20:53 INFO]
Fortify Source Code Analyzer 5.1.0.0061
[2010-08-23 21:20:53 INFO]
Args:
["-b", "ProjectName", "-machine-output", "-vsversion", "8.0", "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\Common7\\IDE\\devenv.exe", "ProjectName.sln", "/rebuild", "DEBUG"]
[2010-08-23 21:20:53 INFO]
VM Args:
"-XX:SoftRefLRUPolicyMSPerMB=100 -Xss1M -Xmx600M -Xms16M"
[2010-08-23 21:21:04 INFO 1102]
Compiler execution failed (exit code: 1).
[2010-08-23 21:21:04 WARNING]
exit(1)
有帮助吗?

解决方案

好的,我认为这是VS2010上C/C ++翻译的已知问题。我发现的解决方法是:

  1. 打开Visual Studio X86命令提示
  2. 更改为Kindleexport.sln的目录
  3. 运行:Sourceanalyzer -B Kindleexport Devenv Kindleexport.sln /Rebuild
  4. 运行:Sourceanalyzer -B Kindleexport -scan -f Kindleexport.fpr
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top