visual studio generar documentar documentacion descargar codigo code c# visual-studio-2013 codelens

c# - generar - Obtener la lista de códigos de referencia cero en Visual Studio



visual basic descargar (2)

En Visual Studio 2013, el número de referencias de un Código especial (método, propiedad, campo, ...) se muestra en Code Lens . Quiero obtener códigos no utilizados (referencia cero) en Visual Studio. ¿Hay alguna forma de conseguirlos?

Me refiero a la siguiente referencia:


Aquí hay una forma manual de lograr esto que he usado para encontrar clases no utilizadas que están marcadas como públicas.

  1. Busque y reemplace todas las "clases públicas" con "clases privadas" para un proyecto en su solución. También puede ser necesario reemplazar "clase estática pública" y / o "clase abstracta pública".
  2. Construye para encontrar todos los errores
  3. Para cada error en la compilación, use su control de origen para restaurar el archivo para la clase referenciada.
  4. Repita para cada error hasta que la compilación tenga éxito.
  5. Los archivos restantes que no se han restaurado son candidatos probables para su eliminación.
  6. (opcional) Cambie el nombre de las clases en los archivos anteriores y realice una compilación más para encontrar errores.
  7. Haga una última búsqueda del nombre de la clase que desea eliminar para confirmar que no haya instancias de que se use en la reflexión o cadenas mágicas.
  8. Elimine los archivos de clase no utilizados identificados.
  9. Repita para cada proyecto de solución que desee limpiar.

Nota: Si no sigue la regla de una clase por archivo, esto requerirá mucho más trabajo. Además, cualquier punto final del servicio API deberá verificar que ningún proyecto externo lo esté utilizando.


Probablemente, la mejor y más fácil manera de lograr lo que busca es usar la herramienta de análisis de código incorporada con Visual Studio para buscar y llevarlo directamente a código muerto y miembros no utilizados.

Para este efecto, simplemente creé un nuevo archivo de conjunto de reglas de análisis de código (Vía Archivo-> Nuevo-> Archivo , asegurándome de que General en el panel izquierdo estaba seleccionado y desplazándome hacia abajo para encontrar el Conjunto de reglas de análisis de código , dándole un nombre de archivo, luego buscando y seleccionando las siguientes reglas). Consulte a continuación los contenidos del archivo de conjunto de reglas que simplemente puede copiar y pegar en un nuevo archivo con la extensión .ruleset para usar.

Dado un archivo de conjunto de reglas, uno puede hacer clic derecho en un archivo de proyecto en el panel Explorador de soluciones y seleccionar Propiedades . En las ventanas de propiedades del proyecto, haga clic en la pestaña Análisis de código en el panel izquierdo y luego haga clic en Abrir para buscar la ubicación del archivo .ruleset. Si va a las propiedades de un archivo de solución (en lugar de un archivo de proyecto), puede establecer el archivo de análisis de código para cada proyecto en la solución en un lugar (en Configuración de análisis de código , y usando el menú desplegable para seleccionar NOTA: sin embargo, debe haber examinado previamente el archivo de conjunto de reglas para que aparezca en el menú desplegable de esta ventana de propiedades.

Luego, simplemente ejecute el análisis de código en los proyectos / solución (Vía Analizar-> Ejecutar análisis de código en solución -O BIEN- Alt + F11 ) y volverá como advertencias, cualquier método sin referencia o miembros no utilizados que encuentre. Incluso encontrará métodos a los que hace referencia un método, que en sí mismo no tiene referencias en otro lugar.

Sin embargo, tenga cuidado, ya que una de las formas en que el análisis de código para el código muerto puede llevarlo a un error, es si la referencia está ''oculta'' al solo llamar al método a través de delegados y, por supuesto, de reflexión.

Las reglas para detectar el código muerto, específicamente, son:

  • Métodos privados a los que no se llama desde ningún otro código (CA1811)
  • Variables locales no utilizadas (CA1804)
  • Campos privados no utilizados (CA1823)
  • Parámetros no utilizados (CA1801)
  • Clases internas que no se instancian desde ningún otro código (CA1812).
  • Código muerto en el interruptor limitado OR-bit (C6259)

A continuación se muestra el contenido del archivo .ruleset que se puede obtener siguiendo los pasos anteriores, para su conveniencia. Simplemente puede copiar el siguiente XML, pegarlo en el bloc de notas ++, guardarlo en algún lugar con la extensión .ruleset , buscar y usar como se explicó anteriormente:

<?xml version="1.0" encoding="utf-8"?> <RuleSet Name="Dead Code Rules" Description=" " ToolsVersion="12.0"> <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed"> <Rule Id="CA1801" Action="Warning" /> <Rule Id="CA1804" Action="Warning" /> <Rule Id="CA1811" Action="Warning" /> <Rule Id="CA1812" Action="Warning" /> <Rule Id="CA1823" Action="Warning" /> </Rules> <Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native"> <Rule Id="C6259" Action="Warning" /> </Rules> </RuleSet>

Espero que esto te ayude, y no olvides seleccionar la mejor respuesta.