Ответ 1
В шаблоне T4 исполняющая сборка не ваша, а одна из движка T4.
Для доступа к типам из ваших сборок вам необходимо выполнить следующие шаги:
-
Добавьте ссылку на свою сборку в шаблон. Поместите это вверху:
<#@ assembly name="$(SolutionDir)<Project>\bin\Debug\<Project>.dll" #>
-
Импортируйте пространство имен вашей сборки. Поместите это где-то ниже предыдущей строки:
<#@ import namespace="<Project>.<Namespace>" #>
-
Чтобы получить доступ к типам в этой сборке, выберите один из них и получите сборку из него:
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();