Я столкнулся с небольшой проблемой при генерации кода T4.
Я разбил свои шаблоны T4 на отдельные файлы и поместил их в разные каталоги, я сделал это, чтобы части моего кода можно было повторно использовать в нескольких проектах, напримергенерация модели, генерация репозитория и генерация сервиса - все это включает в себя основной файл EntityGeneration.tt.
К сожалению, когда TextTemplating разрешает мои вложенные включения, он создает длинную директиву препроцессора #line в своем сгенерированном файле .cs, объединяя все относительные пути к включенному файлу самого низкого уровня.
К сожалению, поскольку этот путь состоит из относительных путей, он оказывается излишне длинным, фактически настолько длинным, что превышает максимальную длину пути (Windows 7).
Вот строка с ошибкой из сгенерированного кода на случай, если вам интересно:
#line 3 "C:\VS2010\AlbatrossTravelGroup\ASC\AlbatrossTravelGroup.ASC.BusinessRules\Services\Contracts\..\..\..\..\AlbatrossTravelGroup.BusinessRules\Services\Contracts\..\..\..\AlbatrossTravelGroup.Models\Repositories\Contracts\..\..\../AlbatrossTravelGroup.Common/CodeGeneration.tt"
У меня такой вопрос, как я могу отключить запись этих директив в сгенерированный файл кода? В противном случае, как я могу избежать этой проблемы, не меняя файловую структуру?