2011-10-21 11 views
9
public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly 

Cuando ejecuto Code Analysis, recibo un error porque Microsoft no reconoce la palabra 'Multi' (vean la figura que la usan en IMultiValueConverter). Entonces, lo que hice para corregir esto fue agregar un archivo CodeAnalysisDictionary.xml y seguir los pasos provistos en here. Sin embargo, no parece resolver la situación, todavía recibo un mensaje de advertencia de Análisis de código.CA1704 - Microsoft parece estar bloqueando la palabra 'Multi'?

Para asegurarme de que esto no es un error con la sección de palabras reconocidas, agregué otra clase y otra excepción.

public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly 
public class MutiiSomething { } //NO WARNING 

<Dictionary> 
    <Words> 
    <Recognized> 
     <Word>Multi</Word> <-- This seems to not do anything... --> 
     <Word>Mutii</Word> <-- This actually does something... --> 
    </Recognized> 
    </Words> 
</Dictionary> 

Una alternativa a la fijación que es usar SuppressMessage, aunque eso no es una solución bien ajuste si va a utilizar esta palabra por todo el lugar.

[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Multi")] 
public class MultiSomething { } //NO WARNING (Suppressed) 

¿Microsoft realmente bloqueó la adición de 'Multi' a las palabras reconocidas?

Respuesta

13

Puede consultar este feedback ticket. Esto es aparentemente por diseño.

El comportamiento que está viendo se debe a que Code Analysis viene con un diccionario personalizado predefinido que siempre anula cualquier otro diccionario personalizado cuando hay un conflicto. En este caso, "multi" aparece como < palabra no reconocida > en el diccionario predeterminado de FXCop.

Para solucionar este problema, abra el diccionario predeterminado% VS directorio de instalación de Herramientas% \ equipo \ herramientas de análisis estático \ FxCop \ CustomDictionary.xml y comentar o borrar la entrada “varios” de la sección < no reconocidos > palabras; "multi" ya no se marcará como un error ortográfico en Code Analysis.

+0

Lamentablemente el billete aparece como "No fijará" ... al parecer no es "suficientemente importante" a pesar de que se trata de una segunda solución 2. –

+1

Incluso si quisieran solucionarlo, es un cambio radical, ya que muchas personas pueden estar confiando actualmente en el hecho de que "multi" no se reconoce por defecto. – RobSiklos

+0

Ingresé esto como una solicitud de UserVoice - ¡vote! http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6772021 – RobSiklos

0

intento de añadir esto a su customdictionary

<Deprecated> 
    <Term PreferredAlternate="Multi">multi</Term> 
</Deprecated> 
Cuestiones relacionadas