web-dev-qa-db-fra.com

Supprimer un avertissement pour tous les projets dans Visual Studio

J'ai vu des réponses montrant comment supprimer un avertissement pour une ligne de code spécifique ou pour un projet spécifique. Je n'en veux pas.

Je veux supprimer un avertissement spécifique pour tous de mes projets.

(Si cela est important, l'avertissement est IDE0044. Et j'utilise C #.)

13
ispiro

Une récente mise à jour de Visual Studio 2017 (15.7.1) a une option pour cela maintenant. Sous le Tools->Options menu, sélectionnez le TextEditor->C#->Code Style->General tab. En dessous de Field preferences, Il y a un Prefer readonly option. Définissez cela sur No.

Image of the text editor preferences.

Il existe également un paramètre editorconfig que vous pouvez définir si vous souhaitez vérifier cette préférence en même temps que votre code, afin que les autres utilisateurs de votre code ne reçoivent pas l'avertissement, mais cela doit être fait sur une solution par base. La valeur editorconfig que vous définiriez serait:

 dotnet_style_readonly_field = false:none
9
John Koerner

Vous pouvez utiliser l'attribut SuppressMessage présent sous System.Diagnostics.CodeAnalysis espace de noms comme

[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "args")]

Eh bien, comme vous l'avez modifié en disant je veux supprimer un avertissement spécifique pour tous mes projets

Vous ne pouvez pas faire cela pour un projet AFAIK complet. Mais vérifiez une fois la publication liée si cela vous aide

Comment supprimer les messages d'analyse de code pour tous les membres de type?

3
Rahul

IDE0044 est "ajouter un modificateur en lecture seule", alors pourquoi ne pas simplement ajouter le modificateur?

Les avertissements vous indiquent que vous faites quelque chose de mal, mais l'application se compilera.

Il est préférable de n'avoir aucun avertissement dans un monde idéal.

3
BlythMeister

Vous pouvez essayer d'utiliser Directory.Build.props en ajoutant la propriété NoWarn pour des avertissements spécifiques. Je ne l'ai pas vérifié cependant.

Et comme il est dit dans une autre réponse, il est préférable de corriger la cause racine au lieu de l'ignorer.

0
Vladislav