J'essaie d'utiliser PGK.Extensions dans un modèle T4 dans VS2008 pour VB.NET et je reçois:Méthodes d'extension à T4
RemoveAllSpecialCharacters est pas membre de la chaîne ..
Mon têtes de T4:
<#@ template language="VB" hostspecific="false" debug="true" inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation" #>
<#@ output extension="vb" #>
<#@ assembly name="PGK.Extensions.dll" #> // the dll is found
<#@ import namespace="StringExtensions" #> //Try with and without namespace
L'utilisation de l'extension dans le code de bloc:
<#
Me.WriteLine(item.Name.RemoveAllSpecialCharacters.ToUpper)
#>
RemoveAllSpecialCharacters est une méthode d'extension de chaîne à partir de PGK.Extensions.dll.
Quelqu'un peut-il m'aider?
EDITED:
OK. C'est:
<#@ template language="VBv3.5" ...
Mais cela casse DevArt T4 Editor IntelliSense et la coloration syntaxique dans le plugin VS2008. Utilisez plutôt l'éditeur Tangible T4.
Ses œuvres, mais cette brise la puissance des méthodes d'extension. J'ai trouvé ce lien http://blogs.msdn.com/b/garethj/archive/2008/10/30/using-extension-methods-in-t4-templates.aspx et pour l'auteur fonctionne. Peut-être que C# mais pas VB? – jlvaquero
Vous pouvez toujours demander à MS d'implémenter correctement les méthodes d'extension dans les templates T4: D ... Mais j'ai peur que jusque-là vous n'ayez pas d'autre choix. –
Et si vous spécifiez la version de VB.NET dans votre déclaration? Quelque chose comme <# @ template language = "VBv9" debug = "true" #>, en remplaçant v3.5 avec le numéro de version le plus récent de VB (9 ou 10 je crois)? Est-ce que ça marche ? –