2009-08-29 19 views
47

Görsel stüdyo projesinin veya çözümünün dizinine veya t4 şablonunun dizinine bir t4 şablonu içinden nasıl başvuru alabilirim?Project veya Relative Directory'yi T4 ile edinin

Şablonla ilişkili olarak bulunan birkaç dosyayı birleştiren bir şablonum var. Göreli bir yoldan mutlak yere referans almam gerekiyor. Mutlak bir yolu kodlamak zor kabul edilemez çünkü görsel stüdyo projesi her zaman aynı yerde olmayacak ve bu kod üretimini bozacaktır. Geçerli çalışma dizinini ortamdan okumak işe yaramıyor, çünkü bu, T4 motorunun şablonun olmadığı yerin yerini döndürüyor. Ben sadece t4'e giriyorum, böylece herhangi bir yardım takdir edilecektir.

cevap

84

Bkz. Ana Bilgisayara Özel Parametre bölüm HERE.

Bu snippet, şablona göre src'nin tam yolunu nasıl alacağınızı gösterir.

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

Bu aswell gibi yolunu yakalayabilir

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