2012-07-11 17 views
5

Investigué google y SO y no puedo encontrar la respuesta.No puedo usar mi clase personalizada en la plantilla T4

He visto la siguiente publicación sin ningún éxito.

Use class inside a T4 template

En mi plantilla T4 estoy tratando de utilizar AddControls método definido en mi ResourceManager clase personalizada pero yo estoy recibiendo el siguiente error.

transformación Compilación: El tipo o espacio de nombres 'WebApplication1' no se pudo encontrar (¿falta una directiva using o una referencia de ensamblado?)

por favor me ayude.

namespace WebApplication1 
{ 
    public static class ResourceManager 
    { 

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

Mi código de plantilla T4 se ve de la siguiente manera:

<#@ 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 #> 

<# 
    } 

#> 

Respuesta

4

construir el proyecto que contiene WebApplication1 espacio de nombres y tratar de guardar la plantilla de nuevo. Eso funcionó para mí usando tu código.

+0

increíble .. gracias Dan –

Cuestiones relacionadas