WPF 应用程序:Microsoft.Maintainability#CA1506 签名无效 FxCop 违规

Posted

技术标签:

【中文标题】WPF 应用程序:Microsoft.Maintainability#CA1506 签名无效 FxCop 违规【英文标题】:WPF Application: Microsoft.Maintainability#CA1506 Signature is not valid FxCop violation 【发布时间】:2011-06-01 15:48:14 【问题描述】:

我有一个 WPF 解决方案,当我在其上运行 FxCop 时(准确地说,是在启用代码分析的情况下构建它时),规则集设置为 Microsoft 所有规则(还有一些其他规则集也这样做),它给了我以下错误:

CA0001: Rule=Microsoft.Maintainability#CA1506, Target=My.Project.Namespace.App : Signature is not valid.

这似乎是指Application 子类,它是我的应用程序的入口点。据我所知,类签名似乎没有什么是无效的。谷歌搜索错误引发了其他一些 CA0001/CA1506 违规,但没有具体关于“签名无效”的内容。错误(CA1506 似乎是“避免过度的类耦合”,虽然我发现有人有我的错误但“枚举期间修改了集合”;这和我的错误似乎都与过度耦合无关)。

【问题讨论】:

【参考方案1】:

根据CA001 documentation,此错误是由自定义规则中的缺陷托管代码分析工具中的未知缺陷引起的。听起来错误是报告代码分析引擎由于签名无效而无法加载/执行 CA1506 规则,但由于您使用的是标准 Microsoft 规则集,这似乎是一个令人费解的错误。

MSDN 文档建议您尝试以下方法:

有关更多诊断信息,请查看 \obj 文件夹中的 CodeAnalysisReport.xml。该报告列出了所有内部异常的异常类型、堆栈、类型、消息和堆栈。 尝试重写报告错误的行,或围绕该行的几行代码。

如果对代码分析报告的检查没有产生其他信息,您可能需要检查您的开发环境,看看在 Visual Studio 中配置代码分析的方式是否存在问题。您甚至可以尝试在 Visual Studio 上进行修复。

【讨论】:

以上是关于WPF 应用程序:Microsoft.Maintainability#CA1506 签名无效 FxCop 违规的主要内容,如果未能解决你的问题,请参考以下文章

wpf是啥

2021-08-08 WPF控件专题 WPF应用程序组成

WPF 一个空的 WPF 程序有多少个窗口

WPF笔记1 用VS2015创建WPF程序

WPF学习第三十一章 WPF命令模型

如何用wpf调用mfc程序呢?