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:
-
Add a reference to your assembly to the template. Put that at the top of it:
<#@ assembly name="$(SolutionDir)<Project>\bin\Debug\<Project>.dll" #>
-
Import the namespace of your assembly. Put that somewhere below the previous line:
<#@ import namespace="<Project>.<Namespace>" #>
-
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();