Dans un projet d'échafaudage d'application sur lequel je travaille, j'essaie de décider s'il faut utiliser Oslo, T4 ou CodeDom pour générer du code. Nos objectifs sont de réduire au minimum les dépendances et de générer une génération de code pour une conception basée sur un domaine à partir d'user stories. La première étape consistera à créer les tests à partir des user stories, mais nous souhaitons que les experts du domaine puissent écrire leurs histoires dans une variété de supports différents (par exemple application personnalisée, Word, etc.) tout en générant les tests à partir du histoires.T4 vs CodeDom vs Oslo
Ce que je sais à ce jour:
- CodeDom nécessite .NET mais seulement peut produire des fichiers de classe .NET (par exemple .cs, .vb). Le niveau de difficulté est assez élevé.
- T4 requiert CodeDom et VS Standard +. Le niveau de difficulté est assez raisonnable, surtout avec le T4 Toolbox.
- Oslo est très nouveau. Je n'ai aucune idée des dépendances, mais j'imagine que vous devez être au moins .NET 3.5. Je ne suis pas sûr non plus des capacités de génération de code ou de la complexité pour ajouter de nouvelles grammaires. Cependant, les experts du domaine pourraient probablement écrire des user stories dans Intellipad assez facilement. Aussi pas sûr de la facilité de convertir des histoires dans Word à un MGrammar. Quelles sont vos pensées, expériences, etc. avec l'un des outils ci-dessus?
Nous voulons rester avec Microsoft ou des outils open source.
Cela répond plus directement à ma question initiale. Merci pour votre contribution, Scott. –
L'intégration de l'heure de génération nécessite que vous invoquiez vous-même le fichier TextTemplate.exe, car VS.NET tend à verrouiller tous les assemblages partagés que vous utilisez pour la lecture dans les métadonnées. Une fois que vous avez fait cela (à partir des étapes pré-post-construction) c'est vraiment sympa. J'utilise powershell pour faire les comparaisons de date de fichier pour déterminer si appeler le moteur de modèle. –