Вы также должны ссылаться на DLL, используя директиву "assembly".Например:
<#@ assembly name=“System.Xml” #>
Вы также можете ссылаться на dll по их пути.Посмотрите серию Т4 Олега Сыча, где вы найдете все, что вам хотелось бы знать.Вот страница о директиве "assembly": http://www.olegsych.com/2008/02/t4-assembly-directive/
Я боюсь, что шаблон T4 полностью не знает о решении, в котором он живет, поэтому ссылка на другой проект в решении все равно будет иметьбыть сделано в качестве ссылки DLL.Если вы установите атрибут HostSpecific в директиве template следующим образом:
<#@ template language="C#" debug="false" hostspecific="true" #>
Тогда вы, по крайней мере, сможете указать путь к другому относительному dll, хотя я не пробовал этот конкретный трюксебя.Вы можете получить путь к текущему файлу T4, используя свойство Host.TemplateFile.Попробуйте использовать это для создания ссылки на dll, например:
<#@ assembly name=Path.GetDirectoryName(Host.TemplateFile) + “..\OtherProject\bin\Debug\ClassLibrary1.dll” #>
Я не могу обещать, что это сработает, но это стоит того.