2013-07-16 32 views
6

Tôi đang cố gắng để làm một số thí nghiệm với tạo mã từ các dự án VS2012 nhưng tôi không thể làm cho đoạn mã này t4 làm việct4 "VisualStudioHelper" không tìm thấy

var project = VisualStudioHelper.CurrentProject; 

từ VisualStudioHelper không thể được tìm thấy.

Tôi nên cài đặt/bao gồm gì trong t4 để tạo VisualStudioHelper?

+0

Tìm thấy nó @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper .ttinclude –

Trả lời

1

VisualStudioHelper là gì? Điều này có vẻ là một điều tùy chỉnh và không phải cái gì đó được xây dựng vào động cơ templating T4. Nếu bạn cần truy cập vào dự án hiện tại bạn có thể thử này:

var dte = (EnvDTE.DTE)((IServiceProvider)Host).GetService(typeof(EnvDTE.DTE)); 
var project = dte.Solution.FindProjectItem(Host.TemplateFile).ContainingProject; 

Đừng quên để nhập khẩu lắp ráp ở phía trên cùng của mẫu T4 của bạn:

<#@ assembly name="EnvDTE" #> 
+2

Vâng, đó là một công cụ tùy chỉnh và tôi đã tìm thấy phiên bản của nó @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper.ttinclude –

+0

sử dụng <# @ template hostspecific = "true" #> –

1

Tôi biết VisualStudioHelper từ tangible's T4 Editor. Nó hoàn toàn miễn phí và đi kèm với một thư viện mẫu cung cấp các mẫu T4 hữu ích mà bạn có thể bao gồm trong ví dụ của bạn, ví dụ: để truy cập chức năng Visual Studio hoặc cấu hình dự án, v.v.

Có thể bạn nên xem ở đó.

Edit: Mẫu bạn nên tìm kiếm trong bộ sưu tập được đặt tên là "hữu hình Visual Studio Automation Helper"

8

VisualStudioHelper là một lớp tùy chỉnh từ hữu hình T4 Editor.

Để sử dụng lớp này, cài đặt biên tập hữu hình T4 cho Visual Studio của bạn và sau đó:

  1. mở trình đơn T4 hữu hình trong Visual Studio và sau đó nhấp vào Template Gallery.
  2. Nhấp vào biểu tượng "Cập nhật ngay bây giờ" từ góc dưới bên trái.
  3. Chọn từ cây thư mục: Hữu hình> Visual Studio CodeModel.
  4. Trong menu tệp, nhấp chuột phải vào "Đi bộ mô hình mã Visual Studio" và chọn "Thêm vào giải pháp ..."
  5. Chọn "VisualStudioHelper.ttinclude".
  6. Trong file .tt bạn tham khảo VisualStudioHelper như sau:

<#@ include file="VisualStudioHelper.ttinclude" #>