5

Ayer publiqué una pregunta aquí (FxCop and Code Analysis Rules) sobre cómo hacer que FxCop ejecute las mismas reglas que Code Analysis y pensé que se había resuelto.¿Cómo obtener FxCop tiene el mismo conjunto de reglas que el de Visual Studio Code Analysis?

Sin embargo, parece que no hay una forma real de hacer que FxCop ejecute el mismo conjunto exacto de reglas que el Análisis de código de Visual Studio 2010. Por ejemplo, una vez que conseguí que todo funcionara con mi configuración de FxCopCmd, comenzó a ladrar sobre las reglas indicadas en el conjunto de reglas de reglas mínimas recomendadas, como CA2000. Si elimino las reglas, no me gusta, ejecuta el análisis y todo se ve bien. . . ¡excepto que en realidad no está ejecutando el mismo conjunto de reglas!

¡Esto me parece una locura! ¿Hay alguna forma de que FxCop analice el mismo conjunto exacto de reglas con las que Visual Studio Code Analysis puede analizar? ¿Hay un .dll para agregar a las reglas para analizar y obtener las reglas como CA2000 y otros?

Respuesta

3

VS Code Analysis incluye algunas reglas que no se incluyen con el FxCop independiente. Deberá asegurarse de que los conjuntos de reglas adicionales estén disponibles para fxcopcmd.exe. La forma más sencilla de hacerlo es reemplazar el contenido de su carpeta FxCop de compilación con los de su instalación de Visual Studio ya que uno de los conjuntos de reglas (DataflowRules.dll) utiliza un motor de análisis que no está incluido con FxCop independiente. cualquiera, y eso depende de un grupo de otros ensambles que también están incluidos en la carpeta FxCop bajo la jerarquía de la carpeta de instalación de VS.

+0

Eso es lo que estaba pensando, pero cuando cambio de llamar a FxCop desde "C: \ Archivos de programa (x86) \ Microsoft Fxcop 10.0 \ FxCopCmd.exe" a "C: \ Archivos de programa (x86) \ Microsoft Visual Studio 10.0 \ Herramientas del equipo \ Herramientas de análisis estático \ FxCop \ FxCopCmd.exe "todavía se ahoga en las reglas adicionales. Siento que eso debería hacer el truco, ¿verdad? – Chris

+0

Descubrí mi problema, mi archivo de proyecto FxCop no hacía referencia a todas las reglas dlls. Agregué las referencias dll en y todo funcionó como se esperaba. – Chris

Cuestiones relacionadas