2009-08-29 16 views
47

¿Cómo puedo obtener una referencia al directorio del proyecto o solución visual studio o al directorio de la plantilla t4 desde una plantilla t4?Obtener proyecto o directorio relativo con T4

Tengo una plantilla que concatena varios archivos que se encuentran en relación con la plantilla. Necesito obtener una referencia de su ubicación absoluta a través de un medio relativo. La codificación rígida de una ruta absoluta no es aceptable porque el proyecto de Visual Studio no siempre estará en la misma ubicación y esto rompería la generación de código. Tampoco funciona leer el directorio de trabajo actual del entorno, ya que devuelve la ubicación donde vive el motor T4 y no la plantilla. Solo estoy llegando a t4, así que cualquier ayuda sería apreciada.

Respuesta

84

Consulte el Parámetro específico del host sección HERE.

Este fragmento muestra cómo obtener la ruta completa de src con respecto a la plantilla.

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

Usted puede agarrar el camino como esto aswell

<#@ template hostspecific="true" #> 
<#= Path.GetDirectoryName(this.Host.TemplateFile) #> 
Cuestiones relacionadas