47

t4 템플릿 내에서 Visual Studio 프로젝트 또는 솔루션 디렉토리 또는 t4 템플릿 디렉토리에 대한 참조를 얻으려면 어떻게해야합니까?T4로 프로젝트 또는 상대 디렉토리 가져 오기

템플릿과 관련하여 여러 개의 파일을 연결하는 템플릿이 있습니다. 상대적인 수단을 통해 절대 위치를 참조해야합니다. Visual Studio 프로젝트가 항상 같은 위치에있는 것은 아니기 때문에 절대 경로를 하드 코딩하는 것은 허용되지 않습니다. 그러면 코드 생성이 중단됩니다. 환경에서 현재 작업 디렉토리를 읽는 것은 T4 엔진이있는 템플릿의 위치를 ​​반환하기 때문에 작동하지 않습니다. 나는 어떤 도움을 주시면 감사하겠습니다.

답변

84

호스트 특정 매개 변수 섹션 HERE을 참조하십시오.

이 스 니펫은 템플릿과 관련하여 src의 전체 경로를 얻는 방법을 보여줍니다.

<#@ template hostspecific="true" #> 
// The location of the src folder relative to the t4 template: 
// <#= Host.ResolvePath("src") #> 
1

당신이 aswell 같은 경로를 잡을 수

<#@ template hostspecific="true" #> 
<#= Path.GetDirectoryName(this.Host.TemplateFile) #> 
관련 문제