5

GoogleとSOを調査し​​ましたが、答えが見つかりません。

次の投稿を見ましたが、成功しませんでした。

T4 テンプレート内でクラスを使用する

T4 テンプレートで、カスタム クラス ResourceManager で定義された AddControls メソッドを使用しようとしていますが、次のエラーが発生します。

コンパイル変換: 型または名前空間名 'WebApplication1' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

私を助けてください。

namespace WebApplication1
{
    public static class ResourceManager
    {

        public static void AddControls(List<string> controlList)
        {
            controlList.Add("Label1");
            controlList.Add("Button1");
        }
     }
}

私の T4 テンプレート コードは次のようになります。

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ output extension=".txt" #>

<#@ assembly name="$(TargetPath)" #>
<#@ import namespace="WebApplication1" #>
<#@ import namespace="System.Collections.Generic" #>


<#
    List<String> controlList = new List<String>();

    ResourceManager.AddControls(controlList);

    foreach (string str in controlList)
    {

        string propName= str;
#>
    My control is  <#=            propName #>

<#
    }

#>
4

1 に答える 1

4

名前空間を含むプロジェクトをビルドしWebApplication1、テンプレートをもう一度保存してみてください。それはあなたのコードを使用して私にとってうまくいきました。

于 2012-07-11T01:10:30.073 に答える