Tutorial: Analizar código administrado en previsión de defectos de código
En este tutorial, se analizará un proyecto administrado en previsión de defectos de código con la herramienta de análisis de código.
En este tutorial, se describe paso a paso el proceso de utilizar el análisis de código para analizar la conformidad de los ensamblados de código administrado de .NET con las Instrucciones de diseño de Microsoft .NET Framework.
En este tutorial realizará las acciones siguientes:
- Analizar y corregir las advertencias de defectos del código.
Requisitos previos
- Visual Studio Premium.
Crear una biblioteca de clases
Para crear una biblioteca de clases |
|
Analizar el proyecto
Para analizar un proyecto administrado en previsión de defectos de código
Seleccione el proyecto CodeAnalysisManagedDemo en el Explorador de soluciones.
En el menú Proyecto, haga clic en Propiedades.
Se muestra la página de propiedades de CodeAnalysisManagedDemo.
Haga clic en Análisis de código.
Asegúrese de que Habilitar Análisis de código de compilación (define constante de CODE_ANALYSIS) está activado.
En la lista desplegable Ejecutar este conjunto de reglas, seleccione Todas las reglas de Microsoft.
En el menú Archivo, haga clic en Guardar los elementos seleccionados y, a continuación, cierre las páginas de propiedades de ManagedDemo.
En el menú Compilar, haga clic en Compilar ManagedDemo.
Las advertencias de compilación del proyecto CodeAnalysisManagedDemo se notifican en la ventana Análisis de código y en la ventana Salida.
Si la ventana Análisis de código no aparece, en el menú Analizar, elija Ventanas y elija después Análisis de código.
Corregir los problemas de análisis de código
Para corregir las infracciones de reglas de los análisis de código
En el menú Ver, haga clic en Lista de errores.
Dependiendo del perfil del desarrollador que seleccione, es posible que deba elegir el comando Otras ventanas del menú Ver y, a continuación, hacer clic en Lista de errores.
En el Explorador de soluciones, haga clic en Mostrar todos los archivos.
A continuación, expanda el nodo Propiedades y abra el archivo AssemblyInfo.cs.
Utilice la tabla siguiente para corregir las advertencias:
Advertencias |
Para corregir la advertencia |
---|---|
CA1014: Marcar los ensamblados con CLSCompliantAttribute: Microsoft.Design: 'demo' debe marcarse como CLSCompliantAttribute y el valor debe ser igual a true. |
|
CA1032: Implementar constructores de excepción estándar: Microsoft.Design: Agregue el siguiente constructor a esta clase: public demo(String) |
|
CA1032: Implementar constructores de excepción estándar: Microsoft.Design: Agregue el siguiente constructor a esta clase: public demo(String, Exception) |
|
CA1032: Implementar constructores de excepción estándar: Microsoft.Design: Agregar el siguiente constructor a esta clase: protected demo(SerializationInfo, StreamingContext) |
|
CA1032: Implementar constructores de excepción estándar: Microsoft.Design: Agregue el siguiente constructor a esta clase: public demo() |
|
CA1709: Los identificadores deberían utilizar las mayúsculas y minúsculas correctamente: Microsoft.Naming: corrija el uso de mayúsculas y minúsculas en el nombre del espacio de nombres 'testCode' cambiándolo a 'TestCode'. |
|
CA1709: Los identificadores deberían utilizar las mayúsculas y minúsculas correctamente: Microsoft.Naming: corrija el uso de mayúsculas y minúsculas en el nombre de tipo 'demo' cambiándolo a 'Demo'. |
|
CA1709: Los identificadores deberían utilizar las mayúsculas y minúsculas correctamente: Microsoft.Naming: corrija el uso de mayúsculas y minúsculas en el nombre del miembro 'item' cambiándolo a 'Item'. |
|
CA1710: Los identificadores deberían tener el sufijo correcto: Microsoft.Naming: Cambie el nombre 'testCode.demo' para que termine en 'Exception'. |
|
CA2210: Los ensamblados deben tener nombres seguros válidos: Firme 'ManagedDemo' con una clave de nombre seguro. |
|
CA2237: Marcar los tipos ISerializable con SerializableAttribute: Microsoft.Usage: Agregar [Serializable] a 'demo' ya que este tipo implementa ISerializable. |
|
Después de completar los cambios, el archivo Class1.cs debe ser similar al siguiente:
//CodeAnalysisManagedDemo
//Class1.cs
using System;
using System.Runtime.Serialization;
namespace TestCode
{
[Serializable()]
public class DemoException : Exception
{
public DemoException () : base() { }
public DemoException(String s) : base(s) { }
public DemoException(String s, Exception e) : base(s, e) { }
protected DemoException(SerializationInfo info, StreamingContext context) : base(info, context) { }
public static void Initialize(int size) { }
protected static readonly int _item;
public static int Item { get { return _item; } }
}
}
Excluir las advertencias de los análisis de código
Para excluir las advertencias sobre defectos del código
Para cada una de las advertencias restantes, haga lo siguiente:
En la ventana de análisis de código, seleccione la advertencia.
Elija Acciones, elija luego Suprimir mensaje y, por último, elija En archivo de supresión de proyecto.
Para obtener más información, vea Cómo: Suprimir advertencias mediante el elemento de menú
Recompile el proyecto.
El proyecto se compilará sin advertencias ni errores.