1. STATIC C#分析执行时 SolutionBuilder 错误发生的情况
※ STATIC C#分析过程中SolutionBuilder步骤出错时,执行如下
-
在 Visual Studio 中构建要分析的解决方案。(检查构建期间设置的配置(调试、发布)和平台(x86、x64、任何 CPU)信息)
-
通过在现有的静态C#分析命令后添加-c选项和-nc选项来执行
- static-csharp -k STATIC -s {STATIC_SERVER_ADDRESS} -i EXAMPLE.sln -c "{configuration}|{Platform}" -nc
- c 选项与上述 Visual Studio 中内置的选项相同。 ex) -c "Debug|Any CPU"
- 通过添加 -nc 选项执行分析时,解决方案生成器在无编译模式下运行
通过使用-c选项输入的信息,仅收集原始解决方案中每个项目的输出路径进行分析。
- ex)
Static-csharp -k CSHARPTEST -s 211.116.223.28 -i Csharp.sln -c "Debug|AnyCPU" -nc
-
即使SolutionBuilder步骤失败,也有后面会去FxCop或者StyleCop分析的情况,但是需要查看日志
- 如下图,因为在SolutionBuilder的最后部分无法检测到输出路径,所以出现is not exist错误,在主日志部分会出现FxCop执行等警告。
通过添加 -c 选项和 -nc 选项以与上述相同的方式处理这种情况。
2. 分析执行时 FxCopExecutor中错误发生的情况
- 分析完成后,如果所有的规则集都被激活了,但是没有发生与FxCop相关的违规(以CA开头的违规),则需要查看日志。
- FxCop Skipped
- 在大多数情况下,如果像问题 1 中那样由于 SolutionBuilder 失败而跳过 FxCop,则会出现问题,因此需要执行上述操作。
- .NetCore frame work issue
3. 其他问题
- C# WPF 项目分析ISSUE
- 在 C# 分析期间会收集源信息,但在 WPF 项目的情况下,由于将编译期间自动生成的 xaml 代码的 g.cs 和 g.i.cs 文件收集在一起,因此存在分析失败的问题。
- 此问题适用于Client C# 1.2.4.p1补丁,之前版本分析WPF项目时可能会出现错误。
- Toolbox 中 C# 客户端安装失败问题
- C#客户端安装时内部安装的第三方包中,Client C# 1.2.4.p3补丁中添加的特定包的文件名长度超出了现有工具箱服务可以处理的范围。
- 补丁已经完成,最新工具箱中没有出现,如果出现问题(使用旧工具箱等),请联系黄尚斗。
- Visual Studio 版本问题
- 安装 Client C# 时,如果之前未安装 Visual Studio,则通过 BuildTools 单独安装和使用 MSBuild。
- 如果安装了 Visual Studio,则安装了 MSBuild,但如果 Visual Studio 是社区版而不是专业版,则会出现分析失败的问题。
- C# Metric Comment Line 计算要求事项
- FxCop, StyleCop 分析分离需求事项
- STCS-887
- 即使只从C#规则集中选择并分析StyleCop,所有client到FxCop的分析都会执行,这种情况下分析需要很长时间。
- 在更改当前的功能时,例如票务评论,考虑到其他副作用,需要很长时间才能打补丁,所以我们决定稍后在路线图上反映并完成它。
- FxCop 规则违背相关的问题
- STCS-1088 源代码未标识问题
- 由于 C# 分析导致某些违反 FxCop 规则而导致源代码位置未显示的问题
- 对于某些 FxCop 规则,如果在程序集级别或在 DLL 等非源代码位置检测到违规,请检查 FxCop 是否不报告源代码位置。
- STCS-1117 Async 函数相关的非正常违背信息问题
- 在 C# 中使用 Async 关键字实现异步函数
- 对于异步函数,编译器会自动为异步函数创建一个称为状态机的类。
尽管相应的类包含 Idisposible 类型的字段,但存在一个问题,即 FxCop 分析器不会考虑它们,因为未实现 Idisposible 接口。
- 抑制应与相应规则在相同的情况下处理。
- FxCop Visual Studio版本问题