12
votes

CA1704 - Microsoft semble bloquer le mot "multi"?

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

0 commentaires

3 Réponses :


13
votes

Vous pouvez faire référence à ceci Billet de retour . Ceci est apparemment par design.

Le comportement que vous voyez est parce que les navires d'analyse de code avec un dictionnaire personnalisé prédéfini qui remplace toujours les autres dictionnaires personnalisés lorsqu'il y a un conflit. Dans ce cas, "MULTI" est répertorié comme un mot dans le dictionnaire FXCOP par défaut.

Pour corriger ce problème, ouvrez le dictionnaire par défaut% vs Installery Directory% \ Tool Tools \ Outils d'analyse statique \ FXCOP \ CUSTUREDICTIONNAIRES.XML et commentant ou supprimez l'entrée "Multi" de la section "non reconnue> mots; "Multi" ne sera plus signalé comme une erreur d'orthographe dans l'analyse de code.


3 commentaires

Malheureusement, le billet est répertorié comme "ne corrigera pas" ... apparemment, ce n'est pas "assez important", même s'il s'agit d'une solution de 2 secondes.


Même s'ils voulaient le réparer, il s'agit d'un changement de rupture, car de nombreuses personnes peuvent s'appuyer actuellement sur le fait que "Multi" n'est pas reconnue par défaut.


Je suis entré dans cela comme une demande d'UserVoice - Votez !! VisualStudio.UserVoice.com/forums/121579-Visual-Studio/... < / a>



5
votes

Essayez d'ajouter ceci à votre CustomDictionnaire

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


1 commentaires

Wow, cela a effectivement travaillé. Merci! Je me demande si la raison pour laquelle cela fonctionne est à cause d'un bogue dans la manière dont FXCop considère que les mots, au lieu de la conception. (J'utilise Visual Studio 2017 avec C # 7.2, sinon Options d'analyse de code de stock)



0
votes

Vous pouvez ajouter un fichier XML avec des acronymes de mots, etc.

Ajoutez votre fichier XML et définir une action de construction = CodeAnysisdicdiction P>

<?xml version="1.0" encoding="utf-8" ?>
<Dictionary>
  <Words>
    <Unrecognized>
      <Word></Word>
    </Unrecognized>
    <Recognized>
      <Word>Multi</Word>
    </Recognized>
    <Deprecated>
      <Term PreferredAlternate=""></Term>
    </Deprecated>
    <Compound>
      <Term CompoundAlternate=""></Term>
    </Compound>
    <DiscreteExceptions>
      <Term>PostDate</Term>
    </DiscreteExceptions>
  </Words>
  <Acronyms>
    <CasingExceptions>
      <Acronym></Acronym> 
    </CasingExceptions>
  </Acronyms>
</Dictionary>


0 commentaires