Domanda

Non riesco a trovare alcuni esempi come posso usare l'argomento -a quando utilizzo TextTransform.exe per generare codice dai modelli. In MSDN è la seguente descrizione dell'argomento -a:

  

" Specifica un parametro che una direttiva   il processore può richiedere come a   coppia nome / valore. La direttiva   il processore e l'identificatore sono opzionali.   Ciò consente di specificare i parametri   per qualsiasi processore di direttiva o qualsiasi   istanza di una direttiva particolare   . Processore "

Ho bisogno di alcuni argomenti come la stringa di connessione e così via nel mio modello. La mia idea era di ottenere un percorso al file di configurazione con l'aiuto dell'argomento -a.

Saluti Anton Kalcik

AGGIORNAMENTO: Per essere abbastanza chiaro, voglio leggere i parametri direttamente nel modello.

È stato utile?

Soluzione

Text Template Transformation Toolkit (T4) di Microsoft non è molto ben supportato. Solo alcuni esempi. Se vuoi saperne di più vai al blog Olegs Sychs . T4 è qui spiegato in modo molto approfondito.

Dopo alcune ore nel tentativo di ottenere parametri da TextTransform.exe nel mio modello, ho trovato una soluzione:

Aggiungi l'attributo hostspecific = " true " all'elemento template come segue:

<#@ template language="C#v3.5" hostspecific="true"#>

Più avanti nel modello puoi chiamare ResolveParameterValue come menzionato da Oleg.

Esempio:

<#

 string parameterTest = Host.ResolveParameterValue(null, null, "someKey");
 WriteLine(parameterTest);

#>

Chiami il generatore di modelli così:

"C:\Program Files\Common Files\Microsoft Shared\TextTemplating\1.2\TextTransform.exe" -a !!someKey!someValue

Dopo la generazione dovrebbe essere nel file generato: 'someValue'

Altri suggerimenti

L'argomento -a accetta valori nel seguente formato:

<ProcessorName>!<DirectiveID>!<ParameterName>

Questi sono anche i parametri di ITextTemplatingEngineHost .ResolveParameterValue che devi chiamare per ottenere il valore del parametro nel codice modello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top