2017-10-17 6 views
1

Existe-t-il un moyen de forcer l'avertissement d'un compilateur lors de l'importation d'un espace de noms?Empêcher l'importation d'un espace de noms

Par exemple, le projet peut avoir besoin d'une référence à System.Data mais nous voudrions éviter toute classe ou un module dans ce projet de l'importation System.Data.OLEDB et recommander à la place de passer à un accès aux données personnalisées bibliothèque.

Je pense qu'il pourrait être possible d'utiliser un outil de compilateur personnalisé comme Roslyn, mais semble comme quelque chose qui devrait être réalisable dans Visual Studio

+0

Vous pouvez créer un analyseur Roslyn. – SLaks

+0

Merci. J'ai vu quelques articles de blog à propos de Roslyn qui aimeraient avoir une chance de l'utiliser, mais pas une option pour le moment. Bon à savoir ça peut faire ce dont j'ai besoin. – mfreedm52

Répondre

2

ReSharper permet de configurer des règles personnalisées et validation. Sous Options->Code Inspection->Custom Patterns, vous pouvez créer un modèle de validation personnalisé.

Sélectionnez Add pattern et utilisez l'espace de noms interdit comme motif de recherche (par exemple System.Data.OleDb) et placez votre remplacement dans le motif de remplacement (par exemple, Custom.Optimized.OleDb). Vous pouvez ensuite définir la gravité et ReSharper suggérera le changement.

De toute évidence, cela ne fonctionnera que si vous et votre équipe utilisez ReSharper. (Sinon, vous devriez vraiment)

Mise à jour: réponse à la question dans les commentaires: Savez-vous comment ReSharper gère les règles dans une équipe de développement

Resharper utilise 3 niveaux de réglages:

  1. Paramètres personnels: Ces paramètres sont liés à votre compte d'utilisateur. ces paramètres s'appliquent à toutes les solutions tout en travaillant avec votre compte d'utilisateur (compte utilisateur Windows)
  2. paramètres Solution: Les paramètres enregistrés localement et sont appliqués à une solution spécifique
  3. équipe partagée: Ces paramètres sont appliqués à un solution mais sont stockés dans un fichier de configuration que vous archivez, le rendant disponible pour toute votre équipe.

Utilisation du niveau des paramètres équipe a partagé vous pouvez partager un fichier de configuration commune avec toute l'équipe. En plus de cela, Resharper offre un outil de ligne de commande gratuit, que vous pouvez intégrer sur votre serveur de construction, pour appliquer ces règles dans la construction automatique.

+0

Il est bon de savoir que Resharper peut le faire aussi. Savez-vous comment Resharper gère les règles au sein d'une équipe de développement? J'ai toujours pensé qu'il s'agissait plus d'un outil pour vérifier le travail individuellement que de ne pas appliquer les avertissements/erreurs – mfreedm52

+0

@ mfreedm52 J'ai mis à jour la réponse pour inclure votre question. – Iqon