0

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)
4

1 に答える 1

0

これは、標準の T4 ホスト (Visual Studio および TextTransform) で機能します。エラーに基づいて、カスタム ホストがアセンブリ参照のリストを正しく提供していないようです。

于 2009-07-16T12:07:11.943 に答える