首页 > 解决方案 > Fortify “sourceanalyzer -show-build-ids”现在在成功构建 .NET Core 3.1 x64 后会显示任何构建 ID

问题描述

我有一个包含4个项目的解决方案:控制台netcoreapp3.1,标准类库2.1,工人服务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-corefortifystatic-code-analysis

解决方案


Unable to load build session with ID如果 Fortify 不支持项目的 .NET Framework 版本,现在许多版本都会引发错误消息。下载并安装最新版本的 Fortify Source Code Analyzer 并再次扫描。请务必先关闭 Visual Studio。

在将 Visual Studio 解决方案从 .NET Core 2.2(又名netcoreapp2.2csproj)升级到 .NET Core 3.1后发生在我身上netcoreapp3.1。删除 Fortify 19.2 并安装 20.1 就可以了。但是,在您的情况下,您似乎拥有最新的 Fortify 版本 20.1。

  1. 验证 Fortify v20.1支持的语言
  2. 手动删除项目“bin”和“obj”文件夹——即使在清理解决方案之后,一些文件夹仍会保留
  3. 在日志文件中查找“netcoreapp”(将此处的“20.1”替换为您的强化版本)C:\Users\BGPW38\AppData\Local\Fortify\sca20.1\log - 对我来说,它显示了 .NET Core v2.2 参考而不是我项目的 v3.1 提示我需要升级 Fortify

推荐阅读