Sto cercando di utilizzare PGK.Extensions in un modello T4 in VS2008 per VB.NET e ottengo:Metodi di estensione in T4
RemoveAllSpecialCharacters non è un membro di corda ..
mio intestazioni 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
Uso di estensione nel codice di blocco:
<#
Me.WriteLine(item.Name.RemoveAllSpecialCharacters.ToUpper)
#>
RemoveAllSpecialCharacters è un metodo di estensione stringa da PGK.Extensions.dll.
Qualcuno può aiutarmi?
MODIFICATO:
OK. È:
<#@ template language="VBv3.5" ...
Ma questo interrompe l'intellisense di DevArt T4 Editor e l'evidenziazione della sintassi nel plugin VS2008. Utilizzare invece l'editor T4 tangibile.
sue opere, ma questo rompe il potere di metodi di estensione. Ho trovato questo link http://blogs.msdn.com/b/garethj/archive/2008/10/30/using-extension-methods-in-t4-templates.aspx e per l'autore funziona. Forse C# ma non VB? – jlvaquero
Puoi sempre chiedere a MS di implementare correttamente i metodi di estensione nei modelli T4: D ... Ma ho paura fino ad allora non hai altra scelta. –
E se si specifica la versione di VB.NET nella dichiarazione? Qualcosa come <# @ template language = "VBv9" debug = "true" #>, in sostituzione di v3.5 con il numero di versione più recente di VB (credo che 9 o 10 credo)? Funziona ? –