VBv3.5在调用ProcessTemplate方法时包含指令throw的错误

时间:2009-07-15 14:58:09

标签: vb.net .net-3.5 t4

我试图通过T4生成一些代码,当我包含<#@ template language =“VBv3.5”#>时,我收到以下错误我的模板中的指令。

vbc:命令行(0,0):错误BC2006:Compinling transformation:选项'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 :(得分:0)

这适用于标准T4主机(在Visual Studio和TextTransform中)。根据错误,您的自定义主机似乎无法正确提供程序集引用列表。