Как отключить запись директив #line в выходной файл генерации T4

Я столкнулся с небольшой проблемой при генерации кода 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"

У меня такой вопрос, как я могу отключить запись этих директив в сгенерированный файл кода? В противном случае, как я могу избежать этой проблемы, не меняя файловую структуру?

19
задан Brian Tompsett - 汤莱恩 9 July 2016 в 19:32
поделиться