2010-11-09 6 views
6

Je crée un ensemble de modèles T4 qui rassemblent leurs données à partir d'un fichier XML. Existe-t-il un moyen de forcer Visual Studio à régénérer les modèles lorsque le fichier XML est modifié?Reconstruire le modèle T4 lors de la modification du fichier externe

Actuellement, les développeurs doivent modifier le fichier XML, puis reconstruire chaque modèle pour obtenir les modifications. Mon but est de cacher complètement les templates T4 au développeur afin qu'ils n'aient pas d'autre action que de mettre à jour le fichier XML.

Autres informations: Nous utilisons des projets Visual Studio 2008 Visual Basic.

+0

duplication possible de [Obtenir Visual Studio pour exécuter un modèle T4 sur chaque génération] (http://stackoverflow.com/questions/1646580/get-visual-studio-to-run-a-t4-template-on- every-build) – GSerg

+0

Il existe une extension VS pour ce [AutoRunCustomTool] (https://visualstudiogallery.msdn.microsoft.com/ecb123bf-44bb-4ae3-91ee-a08fc1b9770e). –

Répondre

1

Je cherchais une fonctionnalité similaire il y a quelques mois, mais tout ce que j'ai trouvé a indiqué que vous ne pouvez pas invalider automatiquement la sortie d'un modèle lorsqu'un autre fichier est modifié. (Par exemple, il n'y a aucun moyen de déclarer qu'un modèle "dépend" d'un autre fichier, style Makefile.)

Je finis par écrire simplement une tâche MSBuild personnalisée qui supprime tous les fichiers de sortie T4, forçant effectivement tous les modèles à être réexécuté à chaque construction. Cela peut être excessif pour vos besoins, en particulier si les modèles prennent beaucoup de temps à s'exécuter, mais peut-être que vous pouvez bidouiller quelque chose pour vérifier les dépendances de modèles.

+1

Où sont les fichiers de sortie T4? –

0

Si votre objectif est de les cacher complètement, je fais une extension appelée T4Awesome qui vous permet de faire cela. Au lieu que vos modèles soient intégrés à la solution et visibles dans l'explorateur de solution, mon extension les cache dans un seul dossier, puis les présente à Visual Studio via des fenêtres d'outils personnalisées. Il prend en charge l'invite de paramètre afin que vous puissiez supprimer le besoin de votre fichier xml.

Questions connexes