c# - Reflexión con T4 obtener ensamblajes.
reflection (1)
En una plantilla T4, el ensamblaje en ejecución no es suyo, sino uno del motor T4.
Para acceder a los tipos desde sus ensamblajes, debe realizar los siguientes pasos:
Agregue una referencia a su ensamblaje a la plantilla. Pon eso en la parte superior de la misma:
<#@ assembly name="$(SolutionDir)<Project>/bin/Debug/<Project>.dll" #>
Importe el espacio de nombres de su ensamblaje. Pon eso en algún lugar debajo de la línea anterior:
<#@ import namespace="<Project>.<Namespace>" #>
Para acceder a los tipos en este conjunto, seleccione uno de ellos y obtenga el conjunto de este:
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();
Quiero obtener toda la clase en el ensamblaje específico este es mi código
var assembly=Assembly.GetExecutingAssembly();
var assemblies = assembly.GetTypes().Where(t => String.Equals(t.Namespace, "RepoLib.Rts.Web.Plugins.Profiler.Models", StringComparison.Ordinal)).ToArray();
cuando el código c # todo está bien y obtengo mis ensamblajes, pero cuando escribo en el archivo t4
no tengo ningún error, pero el conteo de mis ensamblajes es.