2009-06-19 13 views
0

Je développe un projet C# qui inclut un fichier généré par SqlMetal. J'aimerais utiliser l'analyse de code. J'ai activé "Supprimer les résultats du code généré" dans les options d'analyse de code, mais il continue de générer des rapports sur les classes SqlMetal. Y a-t-il un moyen de l'éteindre?Ignorer l'analyse de code pour les fichiers générés par SqlMetal

J'utilise Visual Studio 2008 et SqlMetal 2.0.50727.3082

+0

sont les classes SQLMetal réellement marquées comme étant généré? Voir http://msdn.microsoft.com/fr-fr/library/system.codedom.compiler.generatedcodeattribute.aspx – Stu

+0

@Stu: Ils ne le sont pas. La seule suppression que j'ai pu voir était "#pragma warning disable 1591". J'avais pensé à ajouter l'attribut moi-même, mais je ne veux pas modifier les fichiers qui pourraient facilement être supprimés et régénérés. – Whatsit

Répondre

2

Une option consiste à modifier la source généré pour ajouter simplement « partielle » aux classes que vous aimez.

vous pouvez ajouter dans un fichier séparé (s)

[GeneratedCode] 
public partial class Foo 
{ 
} 

pour chaque classe Foo vous avez fait

partielle alors le pire qui peut arriver sur la régénération est que le lien partiel est cassé (qui résultera en une erreur de compilation afin que vous sachiez que cela est arrivé et a besoin de correction (simplement et facilement)

Je vous suggère également de déposer un bogue de connexion/demande leur demandant d'ajouter cette génération d'attribut en option sur sql métal lui-même

+0

Ajout de l'attribut pour chaque classe n'est pas possible dans ce cas, car la base de données est toujours dans un état de flux. Au moment où l'ensemble des classes de base change, j'aurai à nouveau les mêmes problèmes. – Whatsit

+0

Je serais ravi de déposer une demande de fonctionnalité pour cela, mais je n'ai aucune idée de comment. Je ne peux pas trouver des informations officielles sur l'outil autre que ce qui est dans la bibliothèque MSDN (http://msdn.microsoft.com/en-us/library/bb386987.aspx) qui ne fournit aucune sorte d'informations de contact . – Whatsit

+0

car il est utilisé via Visual Studio déposer un bug sur le site Web Microsoft Connect. – ShuggyCoUk