Pergunta

Eu não posso encontrado algum exemplo de como eu posso usar argumento -a quando eu uso TextTransform.exe para gerar o código a partir de modelos. Em MSDN está seguindo descrição para -a argumento:

"especifica um parâmetro que uma directiva processador pode consultar como um NOME / valor par. a directiva processador e identificador são opcionais. Isso permite que os parâmetros a serem especificadas para qualquer processador de diretriz ou qualquer exemplo de uma directiva específica processador. "

Eu preciso de algum conjunto de argumentos como seqüência de conexão e assim por diante no meu modelo. Minha idéia era fazer com que um caminho para a arquivo de configuração com ajuda de -a argumento.

Saudações Anton Kalcik

UPDATE:. Para ser clara o suficiente, eu quero ler parâmetros direto no template

Foi útil?

Solução

Toolkit modelo de texto Transformação (T4) é da Microsoft não muito bem apoiado. Apenas alguns exemplos. Se você quiser saber mais vá para Olegs Sychs blogue . T4 é aqui profundamente explicou.

Depois de horas a tentar obter parâmetros de TextTransform.exe no meu modelo Eu encontrei uma solução:

Adicionar atributo hostspecific="true" ao elemento template da seguinte forma:

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

Mais tarde, no modelo que você pode chamar ResolveParameterValue como Oleg mencionado.

Exemplo:

<#

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

#>

Você chamar modelo gerador assim:

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

Depois de geração deve estar no arquivo gerado: 'someValue'

Outras dicas

O argumento -a aceita valores no seguinte formato:

<ProcessorName>!<DirectiveID>!<ParameterName>

Estes são também os parâmetros de ITextTemplatingEngineHost .ResolveParameterValue método que você precisa chamar a fim de obter o valor do parâmetro no código do modelo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top