2011-10-24 10 views
2

を含めながら、私はVS2010プロ、Windows 7のT4テンプレートデバッガは、複数のTTファイルが

を使用して、次のT4テンプレートファイルをデバッグしようとしています。しかし、デバッガはファイルに正しい行をハイライト表示されません。間違った行を示してい.tt」

ファイル1:File1.tt

<#@ template debug="true" hostspecific="true" language="C#" #> 

<#@ include file="Texttemplate2.tt" #> 

<# 

System.Diagnostics.Debugger.Launch(); 


    int a= 10; 

    Write("ASS"); 

    GetProperty("User","UserName"); 

#> 

ファイル:Texttemplate2.tt

<#@ template debug="true" hostspecific="true" language="C#" #> 
<#@ assembly name="System.Xml" #> 
<#@ import namespace="System.Xml" #> 
<#@ import namespace="System.IO" #> 
<#+ 

public void Load() 
    { 
     string doc=null; 
     if(doc == null) 
     { 
      string templateDirectory = Path.GetDirectoryName(Host.TemplateFile); 
      string absolutePath = Path.Combine(templateDirectory,"../../App_Data/EntityUI_MetaData_Appsettings.xml"); 
     } 
    } 
public string GetProperty(string Entity, string prop) 
    { 
     Load(); 
     string node="none"; 

     if (node != "0") 
     { 
      if (node == Entity) 
       { 
       return node; 
       } 
     } 
     return null; 
    } 
#> 

質問を詳しく説明しましょう。私は上記の2つのT4テンプレートファイルを作成しました。今私はT4テンプレートファイル "File1.tt"コード(生成されたコードではない)をデバッグしたい。私は私が

System.Diagnostics.Debugger.Launch(); 

でデバッガを起動し、ブレークポイントF5を.pressing

int a= 10; 

を設定しなかったことは、今の私のブレークポイントにヒットする原因。

int a= 10; 

その今LEFTのようにBACKGOUNDと黄色の矢印のように黄色で強調表示。この方法は、そこに呼ばれたとき、あなたはその黄色の矢印に気づくでしょう

GetProperty 

に到達するまで、F11キーを押して、その後、現在実行中のステートメントが強調表示されていないことを意味します。

意味さ、suppposeライン:10

答えて

0

texttemplatefile2.ttで、私は同じ問題を持っていた:20は、次の実行文で、デバッガのハイライトラインです。私は正しい線を得る方法を見つけていない。しかし、私はあなたが追加できることを発見しました

System.Diagnostics.Debugger.Break(); 

あなたがテストしたいラインで、そしてT4テンプレートをデバッグしてください。あなたのIDEは間違った行に残っていますが、ブレークを引き起こしたコード内の場所に移動する場合は、少なくともブレークとなるはずです。少なくとも、その時点で変数を調べることができます。

警告:デバッガ行でテンプレートを保存または実行しようとすると、Visual Studioがクラッシュすることがあります。あなたがそれを使用していないときはすぐにそれをコメントアウトしてください。

関連する問題