Fortify“sourceanalyzer -show-build-ids”在成功构建 .NET Core 3.1 x64 后不显示任何构建 ID

问题描述 投票:0回答:1

我有一个包含 4 个项目的解决方案: 控制台netcoreapp3.1、标准类库2.1、Worker Service netcoreapp3.1、netcoreapp3.1下的xunit测试项目

我做到了:

  1. 源分析器-b * -clean
  2. sourceanalyzer -b X.sln msbuild "C:\x\X.sln" /nologo /v:n /t:Rebuild
  3. sourceanalyzer-show-build-ids 没有结果
  4. sourceanalyzer.exe -scan -b x.sln -f“C:\x\Security\x.fpr”

输出: [错误]:无法加载 ID 为“x.sln”的构建会话。有关更多详细信息,请参阅日志文件。

我使用的是VS 2019最新更新版本16.7.6, Fortify 静态代码分析器 20.1.0.0158(使用 JRE 1.8.0_181)

.net-core static-analysis fortify
1个回答
3
投票
如果 Fortify 不支持您项目的 .NET Framework 版本,现在许多版本都会抛出

Unable to load build session with ID
错误消息。下载并安装最新版本的 Fortify 源代码分析器并再次扫描。请务必先关闭 Visual Studio。

将 Visual Studio 解决方案从 .NET Core 2.2(又名 csproj 中的

netcoreapp2.2
)升级到 .NET Core 3.1
netcoreapp3.1
后,发生在我身上。修复删除 Fortify 19.2 并安装 20.1。

确认这就是问题所在:

  1. 验证 Fortify 支持的语言适用于您的版本,本例中为 v20.1
  2. 手动删除项目“bin”和“obj”文件夹——即使在 VS 中执行“清理解决方案”后,有些文件夹仍会保留
  3. 在日志文件中查找“netcoreapp”(将此处的“20.1”替换为您的 fortify 版本)C:\Users\MYUSER\AppData\Local\Fortify\sca20.1\log——对我来说,它显示了 .NET Core v2 .2 引用而不是我项目的 v3.1 提示我需要 Fortify 升级
© www.soinside.com 2019 - 2024. All rights reserved.