VBv3.5 включает ошибку выброса директивы при вызове метода ProcessTemplate - PullRequest
0 голосов
/ 15 июля 2009

Я пытаюсь сгенерировать некоторый код через T4 и получаю следующую ошибку, когда я включаю директиву <# @ template language = "VBv3.5" #> в мой шаблон.

vbc: Командная строка (0,0): ошибка BC2006: Преобразование компиляции: требуется опция 'r': (file_list)

Если я использую <# @ template language = "C # v3.5" #> в качестве моей директивы, она работает просто отлично. Также, если я не пытаюсь сгенерировать с помощью кода и просто сохраняю файл .tt, он прекрасно работает с директивой VBv3.5.

Вот мой шаблон t4.

<#@ output extension="txt" #>
<#@ assembly name="Microsoft.SqlServer.ConnectionInfo" #>
<#@ assembly name="Microsoft.SqlServer.Smo" #>
<#@ assembly name="System.Configuration" #>
<#@ assembly name="Microsoft.VisualBasic" #>
hello world

Вот мой код .NET

    Dim host As CustomCmdLineHost = New CustomCmdLineHost()
    Dim engine As Engine = New Engine()

    host.TemplateFileValue = sTemplateFile

    'Read the text template.
    Dim input As String = File.ReadAllText(sTemplateFile)

    'Transform the text template.
    Dim output As String = engine.ProcessTemplate(input, host)

1 Ответ

0 голосов
/ 16 июля 2009

Это работает со стандартными хостами T4 (в Visual Studio и TextTransform). Судя по ошибке, ваш пользовательский хост неправильно предоставляет список ссылок на сборки.

...