Question

Historique :. Je veux créer un compilateur VB personnalisé, l'extension du compilateur « d'origine », pour gérer mes attributs de compilation personnalisés

Question : après que je l'ai créé mon compilateur personnalisé et j'ai un fichier exécutable capable de compiler le code VB via l'interface standard de ligne de commande, Comment intégrez-je ce compilateur avec Visual studio IDE? (Telle que la touche « compilation » ou « build » utilisera mon compilateur au lieu du compilateur par défaut).

EDIT : (corrigez-moi si je me trompe)

D'après les réactions ici, je vois cette question est un peu choquant, donc je vais expliquer davantage mes besoins et le contexte: .NET nous fournit un mécanisme appelé Attributs. Pour autant que je comprends, les attributs qui font appel à leur comportement destiné à l'élément attribué (assemblage, module, classe, méthode, etc.) - les attributs doivent être reflétés sur. Donc, le vrai truc est ici et l'application reflète le comportement au bon endroit.

Permet de prendre sérialisation par exemple: Nous décorons une classe avec l'attribut Serializable. Nous passons ensuite une instance de la classe à la méthode Serialize du formatter. Le formatter réfléchit à l'instance, en vérifiant si elle a l'attribut Serializable, et agir en conséquence.

Maintenant, si nous examinons la synchronisation, drapeaux, attributs obsolètes et CLSCompliant, la vraie question est: qui réfléchit sur eux? Au moins dans certains cas, il doit être le compilateur (et / ou IDE). Il semble donc que si je veux créer des attributs personnalisés que le changement de comportement d'un élément indépendamment de tout consommateur particulier, je dois étendre le compilateur à réfléchir sur eux à la compilation.

Bien sûr, ce ne sont pas mes idées personnelles: le livre « Applied .NET Attributs » fournit un exemple complet de création d'un attribut personnalisé et un compilateur C # personnalisé pour réfléchir à cet attribut à la compilation (l'exemple est utilisé pour mettre en œuvre « checked style java exceptions »).

Était-ce utile?

La solution

Consultez "MSBuild" http://msdn.microsoft. com / fr-fr / bibliothèque / ms171452.aspx . projets Visual Studio sont des projets MSBuild. Je crois que tout ce que vous avez à faire est de faire un changement de mineur couple. Je ne l'ai pas fait pour un compilateur, mais je l'ai fait avec ILMerge après la compilation et il fonctionne très bien. Transparente et même possible de déboguer les ensembles fusionnés.

Autres conseils

Vérifiez " BuildAction la propriété " et " CustomTool propriété ».

Il y a quelques années, j'ai lu un excellent article sur la création d'un compilateur personnalisé, l'enregistrement, et la définition de ces propriétés. Je ne trouve pas l'article maintenant, mais cela devrait vous aider à démarrer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top