问题描述
我有一个包含4个项目的解决方案: 控制台netcoreapp3.1,标准类库2.1,Worker Service netcoreapp3.1,netcoreapp3.1下的xunit测试项目
我做到了:
- sourceanalyzer -b * -clean
- sourceanalyzer -b X.sln msbuild“ C:\ x \ X.sln” / nologo / v:n / t:Rebuild
- sourceanalyzer -show-build-ids 没有结果
- 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)
解决方法
如果 Fortify 不支持项目的 .NET Framework 版本,现在许多版本都会抛出
Unable to load build session with ID
错误消息。下载并安装最新版本的 Fortify Source Code Analyzer 并再次扫描。请务必先关闭 Visual Studio。
将 Visual Studio 解决方案从 .NET Core 2.2(在 csproj 中也称为 netcoreapp2.2
)升级到 .NET Core 3.1 netcoreapp3.1
后发生在我身上。删除 Fortify 19.2 并安装 20.1 就成功了。但是,就您而言,您似乎拥有最新的 Fortify 版本 20.1。
- 验证 Fortify v20.1 Supported Languages
- 手动删除项目“bin”和“obj”文件夹——即使在干净的解决方案之后,一些文件夹仍然可以保留
- 在日志文件中查找“netcoreapp”(将此处的“20.1”替换为您的强化版本)C:\Users\BGPW38\AppData\Local\Fortify\sca20.1\log -- 对于我它显示了 .NET Core v2.2 引用而不是我项目的 v3.1 提示我需要 Fortify 升级