2012-04-06 14 views
11

Tengo el siguiente nivel de entrada de mensajes en mi lista de errores de CodeContracts:Cómo encontrar afirmaciones 'enmascarados' en MS Código Contratos

CodeContracts: Checked 410 afirmaciones: 404 correcto (6 enmascarado)

no puedo entender por:

  1. Qué afirmaciones son enmascarados
  2. cómo localizar los 6 que se menciona
  3. Sea o no debería estar preocupado por ellos

Lo siento por no publicar el código ... no tengo idea de cómo volver a crear esto en una pequeña muestra :)

Muchas gracias

Respuesta

9

Es simple, en las propiedades de su proyecto> Contratos de código> Comprobación estática> coloque la advertencia en "hola".

Ahora ccCheck hizo más advertencia.

Adiós.

+1

Esto funcionó para mí, no la respuesta que se marcó como correcta. –

+0

Sí, este también funcionó para mí. Gracias. –

2

Estos parecen ser afirmaciones que están enmascaradas en virtud de su inclusión en el archivo "línea base". De la documentación (el énfasis es mío):

6.6.8 Línea de base

El ejercicio de una base de código existente a un punto en que el verier emite sólo unas pocas advertencias es difcil y requiere mucho tiempo, ya que requiere la adición de numerosos contratos . Para facilitar el uso de contratos en bases de códigos existentes, y para enfocar las advertencias introducidas por nuevos códigos o cambios de código, se puede usar la funcionalidad Baseline.

Para usar la funcionalidad de línea base, marque la casilla etiquetada Baseline y proporcione un nombre de archivo para almacenar la línea de base. La ruta es relativa al directorio de salida del proyecto. Cuando se ejecuta el análisis y el archivo de referencia no existe, se crea la línea base. Durante esta ejecución, todas las advertencias se muestran en la salida y se almacenan en el archivo de línea base como XML.

Cuando se ejecuta el análisis y existe el archivo de línea de base, la línea de base actúa como un filtro y las advertencias que ya se encuentran en la línea base no se muestran de nuevo. Las nuevas advertencias se muestran y almacenan en un archivo llamado <baseline>.new, donde <baseline> es el nombre de archivo del archivo de línea de base. Dado que los archivos se almacenan como texto XML, es posible editarlos y agregar fallas adicionales a la línea base. El formato no depende del orden de los métodos y las etiquetas XML adicionales para agrupar pueden introducirse libremente.

Me preguntaba acerca de los mensajes "enmascarados" también; Desactivé la opción "línea base" y ya no aparecieron. Por lo tanto, la respuesta a su segunda pregunta parece ser "borrar la casilla 'línea de base'".

En cuanto a si debería preocuparse por ellas, diría que sí.

+0

Esta respuesta NO es correcta. La respuesta a continuación ES correcta. Para verificar esto, puede desactivar la línea base y aún ver el mensaje "enmascarado". Pero cambia el nivel de advertencia a Alto y podrás verlos. –

Cuestiones relacionadas