Pobierz katalog projektu lub katalogu względnego z T4

Jak mogę uzyskać odniesienie do katalogu projektu lub rozwiązania visual studio lub katalogu szablonu T4 z szablonu T4?

Mam szablon, który łączy ze sobą wiele plików, które znajdują się względem szablonu. Muszę uzyskać odniesienie do absolutnej lokalizacji za pomocą względnych środków. Twarde kodowanie ścieżki bezwzględnej jest niedopuszczalne, ponieważ projekt visual studio nie zawsze będzie w tym samym miejscu, a to złamie generowanie kodu. Odczyt bieżącego katalogu roboczego ze środowiska również nie działa, ponieważ zwraca miejsce, w którym mieszka silnik T4, a nie szablon. Właśnie wchodzę do t4, więc każda pomoc będzie mile widziana.

Author: Blake Taylor, 2009-08-30

2 answers

Zobacz parametr specyficzny dla hosta Sekcja tutaj .

Ten fragment pokazuje, jak uzyskać pełną ścieżkę src względem szablonu.

<#@ template hostspecific="true" #>
// The location of the src folder relative to the t4 template:
// <#= Host.ResolvePath("src") #>
 86
Author: Blake Taylor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-12 19:34:48

Możesz chwycić ścieżkę w ten sposób, jak również

<#@ template hostspecific="true" #>
<#= Path.GetDirectoryName(this.Host.TemplateFile) #>
 1
Author: johnny 5,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-25 18:57:17