Tôi đã ghi đè các mẫu T4 thế hệ bộ điều khiển (ControllerWithContext.tt
) như được mô tả here.
Tôi muốn tận dụng lợi thế của các tiện ích trợ giúp mã được tìm thấy trong EF.utility.CS.ttinclude
như được sử dụng trong mẫu máy phát mẫu T4 của máy phát điện POCO. Do đó, tôi đã sao chép các dòng sau từ số Model.tt
của mình vào số ControllerWithContext.tt
.Lỗi mẫu T4: tải tệp bao gồm ef.utility.cs.ttinclude trả về một chuỗi rỗng hoặc trống
<#@ include file="EF.Utility.CS.ttinclude"#>
Tuy nhiên, khi tôi cố gắng thêm một bộ điều khiển Tôi nhận được thông báo lỗi
Loading the include file 'EF.utility.CS.ttinclude' returned a null or empty string
Theo MSDN documentation, lỗi này là bởi vì các tập tin bao gồm là trống, mà nó rõ ràng không phải là bởi vì nó hoạt động với Model.tt
sự khác biệt duy nhất tôi có thể thấy là ghi đè ControllerWithContext.tt
không có một công cụ Custom xác định, trong khi Model.tt
có nó thiết lập để TextTemplatingFileGenerator
.
workaround của tôi là để sao chép các chức năng tôi cần từ ef.utility.cs.ttinclude
vào ControllerWithContext.tt
của tôi, mà tự nó đã ném lên nhiều lỗi nhưng đã được dễ dàng giải quyết.
Làm cách nào để đưa mẫu T4 mà không có công cụ tùy chỉnh được xác định?
Cảm ơn. Như tôi đã đề cập, tôi muốn tận dụng lợi thế của lớp 'CodeGenerationTools' được tìm thấy trong' ef.utility.cs.ttinclude' trong các mẫu T4 của riêng tôi. – Webbie4
Chỉ cần làm theo những gì tôi đề xuất và bạn có thể, chỉ cần không bằng cách sử dụng một bao gồm (ít nhất là bây giờ vì nó có vẻ là bị hỏng) –
@DustinDavis: bạn có nói rằng '<# @ include file =" ... "#> 'chỉ đơn giản là không hoạt động? –