T4 assembly

In a T4 template the executing assembly is not yours but one from the T4 engine.

To access types from your assemblies, you have to perform the following steps:

  1. Add a reference to your assembly to the template. Put that at the top of it:

    <#@ assembly name="$(SolutionDir)<Project>\bin\Debug\<Project>.dll" #>
    
    
  2. Import the namespace of your assembly. Put that somewhere below the previous line:

    <#@ import namespace="<Project>.<Namespace>" #>
    
    
  3. To access the types in this assembly, pick one of them and get the assembly from it:

    var assembly = typeof(<Type in assembly>).Assembly;
    
    var types = assembly.GetTypes()
    
                        .Where(t => String.Equals(
    
                            t.Namespace,
    
                            "RepoLib.Rts.Web.Plugins.Profiler.Models",
    
                            StringComparison.Ordinal))
    
                        .ToArray();

你可能感兴趣的:(assembly)