Dans Visual Studio, je peux sélectionner le "Traiter les avertissements comme des erreurs" option pour éviter que mon code à partir de la compilation si il y a des avertissements. Notre équipe utilise cette option, mais il y a deux mises en garde que nous tenons à garder comme des avertissements.
Il y a une option pour supprimer les avertissements, mais nous NE voulons pas qu'ils se présentent comme des avertissements, donc qui ne fonctionne pas.
Il semble que la seule façon d'obtenir le comportement que nous voulons est de saisir une liste de tous les C# avertissement nombre dans les "avertissements" zone de texte, sauf les deux nous voulons traités comme des avertissements.
Je suis la vérification d'un fichier au contrôle de code source pour en garder la trace de ceux qui nous traitent comme des erreurs
C# 3.5 avertissement nombres à traiter comme des erreurs:
183,184,197,420,465,602,626,657,658,672,684,688,809,824,1058,1060,1200,
1201,1202,1203,1522,1570,1574,1580,1581,1584,1589,1590,1592,1598,1607,
1616,1633,1634,1635,1645,1658,1682,1683,1684,1685,1687,1690,1691,1692,
1694,1695,1696,1697,1699,1707,1709,1720,1723,1911,1956,1957,2002,2014,
2023,2029,3000,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,
3012,3013,3014,3015,3016,3017,3018,3022,3023,3026,3027,5000,108,114,162,
164,251,252,253,278,279,280,435,436,437,440,444,458,464,467,469,472,618,
652,728,1571,1572,1587,1668,1698,1710,1711,1927,3019,3021,67,105,168,169,
219,282,414,419,642,659,660,661,665,675,693,1700,1717,1718,28,78,109,402,
422,429,628,649,1573,1591,1610,1712,3024
C# 3.5 avertissement numéros qui restent comme des avertissements:
612 - X is obsolete
1030 - #warning This is a warning
1701, 1702 - Warnings that are suppressed by the C# compiler by
default and shouldn't show up at all.
Le plus grand inconvénient de cette approche est que quelques mises en garde n'ont pas de numéros, de sorte qu'ils ne peuvent pas être référencés de façon explicite. Par exemple, "n'a pas Pu résoudre cette référence. N'a pas pu localiser de l'assemblée de Données....'"
Personne ne sait d'une meilleure façon de le faire?
Clarifier pour ceux qui ne le voient pas tout de suite pourquoi c'est utile. Pensez à la façon dont la plupart des avertissements de travail. Ils vous disent quelque chose est un peu dans le code que vous venez d'écrire. Il faut environ 10 secondes pour les corriger, et qui maintient la base de code plus propre.
Le "Obsolète" avertissement est très différent de celui-ci. Parfois fixation, il suffit de consommer une nouvelle signature de la méthode. Mais si l'ensemble de la classe est obsolète, et que vous avez l'utilisation de ce éparpillés à travers des centaines de milliers de lignes de code, il pourrait prendre des semaines ou plus à corriger. Vous ne voulez pas que la génération d'être brisé pour longtemps, mais vous certainement NE voulez voir un avertissement à ce sujet. Ce n'est pas seulement un cas hypothétique--ce qui nous est arrivé.
Littérale "#" avertissement les avertissements sont également uniques. J'ai souvent envie de le vérifier, mais je ne veux pas briser la construction.