Nouveautés concernant la génération de code et les modèles de texte

Les modèles de texte Visual Studio vous permettent de générer du code et des ressources pour votre application, ainsi que n'importe quel genre de fichier texte ou de document au moment de l'exécution.

Nouveautés du Service Pack 1 (SP1)

Vous pouvez obtenir les fonctionnalités suivantes en installant SP1 pour Visual Studio 2010.

  • Débogage d'assemblys
    Si votre modèle de texte charge un assembly que vous déboguez, vous pouvez facilement régénérer l'assembly.

    Dans les versions de Visual Studio antérieures à SP1, il est parfois difficile de régénérer un assembly qui a été récemment chargé par un modèle, car le modèle verrouille l'assembly. Depuis SP1, le modèle charge une copie de l'assembly, afin que l'assembly d'origine ne soit pas verrouillé. Si vous régénérez l'assembly, lors de l'exécution suivante du modèle, celui-ci recharge une nouvelle copie de l'assembly. Pour plus d'informations, consultez Directive d'assembly T4.

  • Héritage entre les modèles de texte
    Vous pouvez définir un modèle de texte qui contient une infrastructure de blocs de texte commune à plusieurs variantes. Les modèles de variantes peuvent hériter du modèle commun. Pour obtenir des exemples et des informations supplémentaires, consultez Directive du modèle T4 et Génération de texte durant l'exécution à l'aide de modèles de texte T4 prétraités.

Fonctionnalités nouvelles et améliorées dans Visual Studio 2010

Fonctionnalité

Rubrique

Modèles de texte prétraités : fournissent une méthode pratique pour la génération de fichiers texte au moment de l'exécution, dans n'importe quelle application.

Génération de texte durant l'exécution à l'aide de modèles de texte T4 prétraités

Intégration de build : permet de maintenir à jour les fichiers programme générés par rapport au modèle source ou aux fichiers sources associés. Cette fonctionnalité est disponible lorsque vous installez les Outils de langage spécifique à un domaine.

Génération de code dans un processus de génération

Tâches de transformation de texte pour MSBuild : permettent de transformer des fichiers spécifiques d'un projet lorsque ce dernier est généré dans Visual Studio à partir de la ligne de commande.

Si vous utilisez des scripts qui appellent TextTransform.exe, cette méthode vous semblera peut-être plus flexible.

Génération de code dans un processus de génération

Prise en charge du Modelbus Visual Studio : fournit une méthode standard pour accéder à plusieurs modèles (models) à partir d'un modèle (template) de texte.

Microsoft.VisualStudio.TextTemplating.Modeling.ModelBusEnabledTextTransformation

Séparation par rapport aux langages spécifiques à un domaine et aux modèles (models) : vous n'avez pas besoin de faire appel à un langage spécifique à un domaine pour utiliser des modèles (templates) de texte, bien que les deux fonctionnalités aient été initialement introduites en même temps. Les modèles de texte et la génération de fichiers sont intégrés à Visual Studio.

Génération de code à partir d'un langage spécifique à un domaine

Accès au fournisseur de services : disponible dans une propriété de ModelingTextTransform.

Méthodes utilitaires de modèle de texte T4

Accès à l'environnement : Dans les directives de modèle de texte, vous pouvez utiliser des macros Visual Studio telles que $(ProjectDir) ou des variables d'environnement Windows comme %ProgramFiles%.

Directives de modèles de texte T4

Modifications apportées à la personnalisation

Les améliorations suivantes peuvent vous concerner si vous avez personnalisé le processus de création de modèles de texte.

Fonctionnalité

Rubrique

Modifications apportées aux espaces de noms et aux assemblys : certains types ont été déplacés vers l'assembly Microsoft.VisualStudio.TextTemplating.Interfaces.

Procédure pas à pas : création d'un processeur de directive personnalisé

Procédure pas à pas : création d'un hôte de modèle de texte personnalisé

Dictionnaire de session : dictionnaire sérialisé qui est passé au domaine d'application dans lequel un modèle de texte est exécuté. Il offre une méthode standard permettant à un hôte de création de modèles de texte de passer des données dans le code du modèle de texte.

Procédure pas à pas : création d'un hôte de modèle de texte personnalisé

Autres modifications depuis Visual Studio 2008

Assemblys référencés dans des modèles de texte

Les références du projet actuel ne sont plus utilisées pour rechercher des assemblys.

Dans une directive d'assembly, déclarez explicitement l'emplacement de l'assembly obligatoire.

Vous pouvez utiliser des macros Visual Studio telles que $(ProjectDir) ou des variables d'environnement Windows comme %ProgramFiles% dans le cadre de l'emplacement d'assembly.

Assemblys de transformation de texte

Les assemblys que vous devrez peut-être référencer pour utiliser des modèles de texte ont tous le suffixe "10.0" :

  • Microsoft.VisualStudio.TextTemplating.10.0.dll

  • Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll

  • Microsoft.VisualStudio.TextTemplating.Vshost.10.0.dll

  • Microsoft.VisualStudio.TextTemplating.Modeling.10.0.dll

Espaces de noms

Il n'existe aucun espace de noms « Microsoft.VisualStudio.TextTemplating.Interfaces ». Il s'agit d'une modification dans la version finale Bêta 2 de Visual Studio 2010.

Lancement du débogueur

Pour lancer le débogueur à partir d'un modèle de texte, insérez cet appel au niveau du point où vous souhaitez commencer à avancer étape par étape dans chaque exécution :

System.Diagnostics.Debugger.Launch();

Pour retourner au débogueur à des points d'arrêt suivants, appelez :

System.Diagnostics.Debugger.Break();

Version de langage par défaut

La version la plus récente (4) du compilateur sera toujours utilisée pour compiler des modèles de texte. Dans Visual Studio 2008, le compilateur par défaut est 2.0, mais vous pouvez spécifier une version ultérieure du langage de programmation de modèle, par exemple <#@ template language="VBv3.5" #>. Dans Visual Studio 2010, le numéro de version est ignoré et un avertissement est signalé. Si vous possédez un modèle que vous souhaitez utiliser dans les deux versions de Visual Studio, vous pouvez ignorer l'avertissement.

Voir aussi

Concepts

Nouveautés de Visual Studio 2010