演练:对托管代码进行代码缺陷分析
在本演练中,使用代码分析工具对托管项目进行代码缺陷分析。
本演练将引导您逐步完成使用代码分析工具分析 .NET 托管代码程序集是否符合 Microsoft .NET Framework 设计准则的过程。
在本演练中,您:
- 分析并更正代码缺陷警告。
系统必备
- Visual Studio 高级专业版.
创建类库
创建类库 |
|
分析项目
分析托管项目是否存在代码缺陷
在**“解决方案资源管理器”**中选择 CodeAnalysisManagedDemo 项目。
在**“项目”菜单上,单击“属性”**。
此时将显示 CodeAnalysisManagedDemo 属性页。
单击**“代码分析”**。
选择**“生成时启用代码分析(定义 CODE_ANALYSIS 常量)”**。
在**“运行此规则集”下拉列表中,选择“Microsoft 的所有规则”**。
在**“文件”菜单上,单击“保存选定项”**,然后关闭 ManagedDemo 属性页。
在**“生成”菜单上,单击“生成 ManagedDemo”**。
CodeAnalysisManagedDemo 项目生成警告在**“错误列表”和“输出”**窗口中报告。
更正代码分析问题
更正代码分析规则冲突
在**“视图”菜单上,单击“错误列表”**。
根据选择的开发人员配置文件,您可能必须指向**“视图”菜单上的“其他窗口”,然后单击“错误列表”**。
在**“解决方案资源管理器”中,单击“显示所有文件”**。
下一步,展开“属性”节点,然后打开 AssemblyInfo.cs 文件。
使用下表更正警告:
警告 |
更正警告 |
---|---|
CA1014:用 CLSCompliantAttribute 标记程序集:Microsoft.Design:应使用 CLSCompliantAttribute 来标记“demo”,其值应为 true。 |
|
CA1032:实现标准异常构造函数:Microsoft.Design:向此类添加下面的构造函数:public demo(String) |
|
CA1032:实现标准异常构造函数:Microsoft.Design:向此类添加下面的构造函数:public demo(String, Exception) |
|
CA1032:实现标准异常构造函数:Microsoft.Design:向此类添加下面的构造函数:protected demo(SerializationInfo, StreamingContext) |
|
CA1032:实现标准异常构造函数:Microsoft.Design:向此类添加下面的构造函数:public demo() |
|
CA1709:标识符的大小写应当正确:Microsoft.Naming:通过将命名空间名称“testCode”更改为“TestCode”来更正大小写。 |
|
CA1709:标识符的大小写应当正确:Microsoft.Naming:通过将命名空间名称“demo”更改为“Demo”来更正大小写。 |
|
CA1709:标识符的大小写应当正确:Microsoft.Naming:通过将成员名称“item”更改为“Item”来更正大小写。 |
|
CA1710:标识符应具有正确的后缀:Microsoft.Naming:重命名“testCode.demo”使其以“Exception”结尾。 |
|
CA2210:程序集应具有有效的强名称:用强名称密钥对“ManagedDemo”进行签名。 |
|
CA2237:以 SerializableAttribute 标记 ISerializable 类型:Microsoft.Usage:将 [Serializable] 特性添加到类型“demo”,原因是此类型实现了 ISerializable。 |
|
排除代码分析警告
排除代码缺陷警告
选择**“错误列表”中的其余警告并右击,指向“禁止显示消息”,再单击“在项目禁止显示文件中”**。 有关更多信息,请参见如何:使用菜单项禁止显示警告
重新生成项目。
将生成项目,并且不出现任何警告或错误。