Проблема запуска TextTransform.exe при использовании T4Toolbox - PullRequest
1 голос
/ 26 мая 2011

Я пытаюсь запустить TextTransform.exe для генерации кода с использованием файла шаблона T4.Файл шаблона зависит от T4Toolbox (в частности, он содержит классы, реализующие класс T4Toolbox.Template).

Как таковой, он включает в себя файл t4toolbox.tt, который содержит следующие директивы:

<#@ dte processor="T4Toolbox.DteProcessor" #>

<#@ TransformationContext processor="T4Toolbox.TransformationContextProcessor" #>

Во время выполнения я получаю следующую ошибку для обоих упомянутых процессоров:

C:\Program Files\T4 Toolbox\t4toolbox.tt(1,4) : error : A processor named 'T4Toolbox.DteProcessor' could not be found for the directive named 'dte'. The transfo
rmation will not be run.  The following Exception was thrown:
System.IO.FileNotFoundException: Failed to load directive processor T4Toolbox.DteProcessor.
   at Microsoft.VisualStudio.TextTemplating.CommandLine.CommandLineHost.ResolveDirectiveProcessor(String processorName)
   at Microsoft.VisualStudio.TextTemplating.Engine.ProcessCustomDirectives(ITextTemplatingEngineHost host, TemplateProcessingSession session, List`1 directivesT
oBeProcessed)

Я запускаю exe со следующими параметрами:

TextTransform.exe
-I "C:\Program Files\T4 Toolbox" 
-P "[Framework3.5],[VS2008 PublicAssemblies]" 
-dp "XsdProcessor!T4Toolbox.XsdProcessor!T4Toolbox.dll" 
-r "T4Toolbox.dll" mytemplate.tt

Iя пытался включить процессоры директив сложения с несколькими параметрами -dp и со списком через запятую (я вижу, что и DteProcessor, и TransformationContextProcessor реализованы в T4Toolbox, поэтому предположительно синтаксис похож на спецификациюthe XsdProcessor?)

Есть идеи, как избавиться от этих ошибок?Генерация шаблонов отлично работает в visual studio.

1 Ответ

1 голос
/ 27 мая 2011

Мне удалось устранить отмеченные ошибки с некоторыми корректировками параметров командной строки.TextTransform.exe, кажется, нуждается в нескольких путях или директивах, указанных индивидуально.У меня также была неправильная сборка обработки (-r)

Например: TextTransform.exe -I "C:\Program Files\T4 Toolbox" -P "[path1]" -P "[path2]" -dp "T4Toolbox.DteProcessor!T4Toolbox.DteProcessor!T4Toolbox.dll" -dp "T4Toolbox.TransformationContextProcessor!T4Toolbox.TransformationContextProcessor!T4Toolbox.dll"<br> -r Microsoft.VisualStudio.TextTemplating.VSHost.dll" mytemplate.tt

Однако, к сожалению, решение этих двух проблем привело к тупику.Использование T4Toolbox в настоящее время не поддерживается.

http://t4toolbox.codeplex.com/discussions/52069

Вместо этого я смотрю на вызов MSBuild.Следующее было отличной ссылкой: http://www.olegsych.com/2010/04/understanding-t4-msbuild-integration/#ConfiguringTransformationEnvironment

...