Je tente de générer du code via T4 et je reçois l'erreur suivante lorsque j'inclue la directive < # @ template language = "VBv3.5" #> dans mon modèle.VBv3.5 include erreur de la directive throw lors de l'appel de la méthode ProcessTemplate
vbc: ligne de commande (0,0): BC2006 d'erreur: Compinling transformation: option 'r' exige « : (liste_fichiers)
Si j'utilise < # @ modèle language = "C# v3.5" #> comme ma directive ça marche très bien. Aussi, si je n'essaie pas de générer via le code et juste sauvegarder le fichier .tt cela fonctionne très bien avec la directive VBv3.5.
Voici mon modèle t4.
<#@ output extension="txt" #>
<#@ assembly name="Microsoft.SqlServer.ConnectionInfo" #>
<#@ assembly name="Microsoft.SqlServer.Smo" #>
<#@ assembly name="System.Configuration" #>
<#@ assembly name="Microsoft.VisualBasic" #>
hello world
Voici mon code .NET
Dim host As CustomCmdLineHost = New CustomCmdLineHost()
Dim engine As Engine = New Engine()
host.TemplateFileValue = sTemplateFile
'Read the text template.
Dim input As String = File.ReadAllText(sTemplateFile)
'Transform the text template.
Dim output As String = engine.ProcessTemplate(input, host)
Merci pour la réponse. J'aime vos tutoriels T4 en passant! Je suis capable de faire fonctionner correctement juste en enregistrant simplement le fichier .tt dans Visual Studio (je suppose que c'est ce que vous voulez dire par les hôtes T4 standard?). Il bombarde juste quand j'inclus la directive VBv3.5 et exécute la méthode ProcessTemplate en passant dans le CustomCmdLineHost. Si je supprime la directive VBv3.5 ou la change en C# v3.5, tout fonctionne correctement. – vonfeldj