47

Làm cách nào tôi có thể tham chiếu đến thư mục của dự án hoặc giải pháp studio trực quan hoặc thư mục mẫu t4 từ bên trong mẫu t4?Lấy Dự án hoặc Thư mục Tương đối với T4

Tôi có một mẫu liên kết một số tệp với nhau được đặt tương ứng với mẫu. Tôi cần để có được một tham chiếu đến có vị trí tuyệt đối thông qua một phương tiện tương đối. Khó mã hóa một đường dẫn tuyệt đối là không thể chấp nhận được vì dự án studio trực quan sẽ không phải lúc nào cũng ở cùng một vị trí và điều này sẽ phá vỡ việc tạo mã. Đọc thư mục làm việc hiện tại từ môi trường không hoạt động vì nó trả về vị trí nơi động cơ T4 không phải là mẫu. Tôi chỉ nhận được trong t4 vì vậy bất kỳ trợ giúp sẽ được đánh giá cao.

Trả lời

84

Xem Thông số cụ thể của máy chủ phần HERE.

Đoạn mã này cho biết cách lấy đường dẫn đầy đủ của src liên quan đến mẫu.

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

Bạn có thể lấy các con đường như là tốt này

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