Tôi đang cố gắng gỡ lỗi mẫu T4 được xử lý trước và tôi không thể bước vào lớp được tạo bằng cách chạy mẫu được xử lý trước. Tôi có thể tạo một thể hiện của lớp nhưng ngay khi tôi cố gắng bước vào trong khi gỡ lỗi, một cửa sổ mới bật lên có nội dung làGỡ lỗi mẫu trước khi xử lý T4 không hoạt động - Visual Studio 2010 RTM
Không có nguồn. Không có sẵn mã nguồn cho vị trí hiện tại.
Hiểu biết của tôi là các mẫu được xử lý trước có thể được gỡ lỗi giống như một lớp C# bình thường, điều này có đúng không? Có điều gì đặc biệt mà bạn cần làm để có thể bước vào lớp được xác định bởi một mẫu được xử lý trước không?
Đây là một mẫu rất đơn giản và mã gọi mà tôi gặp vấn đề với:
TestPreprocessedTemplate.tt:
<#@ template language="C#" debug="true" #>
Hello <# Write("World"); #>
Kiểm tra Code:
var template = new TestPreprocessedTemplate();
string test = template.TransformText();
Chỉnh sửa - Đã thêm câu lệnh debug = "true" theo đề xuất bên dưới, vẫn có cùng một vấn đề.
Cập nhật - Tôi cũng đăng câu hỏi này trên các diễn đàn MSDN và nhận được phản hồi từ nhân viên MS mà chỉ có những gì tôi mô tả ở trên nên thực sự làm việc. Bất cứ ai khác đã từng gặp phải vấn đề này?
Cập nhật - Với một số trợ giúp từ diễn đàn MSDN, có vẻ như vấn đề là với chỉ thị #line được thêm vào lớp C# được tạo. Nhận xét chúng cho phép tôi bước qua mã như mong đợi. Có cách nào để ngăn không cho các chỉ thị này được thêm vào lớp được tạo không? Với trang ASP.NET, bạn có thể thêm tham số LinePragmas = "false" nhưng có vẻ như không có bất kỳ hiệu ứng nào trên mẫu T4. Ý tưởng nào?
Có vẻ như bạn đang sử dụng trình chỉnh sửa T4 hữu hình, hiển thị vấn đề này. Nếu bạn tắt trình chỉnh sửa này, bạn sẽ thấy rằng việc gỡ lỗi mẫu đã được xử lý trước sẽ đưa bạn đến đúng vị trí trong chính tệp tt. Nếu bạn thực sự muốn gỡ lỗi tệp C#/VB được tạo, thì kỹ thuật của Paiden để xóa chỉ thị #line được mô tả bên dưới là một chỉ dẫn tốt. – GarethJ
Xem câu hỏi liên quan http://stackoverflow.com/q/2945450/141172 –