2013-07-16 25 views
6

Próbuję zrobić kilka eksperymentów z generowanie kodu z projektów VS2012, ale nie mogę zrobić ten kawałek kodu t4 pracowaćt4 „VisualStudioHelper” Nie znaleziono

var project = VisualStudioHelper.CurrentProject; 

od VisualStudioHelper nie można znaleźć.

Co powinienem zainstalować/dołączyć do mojego t4, aby udostępnić VisualStudioHelper?

+0

Znaleziona @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper .ttinclude –

Odpowiedz

1

Co to jest VisualStudioHelper? Wydaje się to być zwyczajną rzeczą, a nie czymś, co wbudowano w silnik szablonowy T4. Jeśli potrzebujesz dostępu do bieżącego projektu można spróbować to:

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

Nie zapomnij zaimportować zespół na górze szablonu T4:

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

Tak, jest to niestandardowe narzędzie i znalazłem jego wersję @ https://github.com/PombeirP/T4Factories/blob/master/T4Factories.Testbed/CodeTemplates/VisualStudioAutomationHelper.ttinclude –

+0

użyj <# @ szablonu hostspecific = "true" #> –

1

wiem VisualStudioHelper z tangible's T4 Editor. Jest on bezpłatny i zawiera galerię szablonów z przydatnymi szablonami T4, które możesz dodać do swoich. w celu uzyskania dostępu do funkcji programu Visual Studio lub konfiguracji projektu itp.

Może powinieneś tam zajrzeć.

Edit: Szablon należy szukać w galerii o nazwie "namacalny Visual Studio Automation Helper"

8

VisualStudioHelper jest klasą zwyczaj z rzeczowych T4 Editor.

Aby korzystać z tej klasy, instalacji rzeczowych T4 Edytor Visual Studio, a następnie:

  1. Otwórz menu T4 rzeczowych w Visual Studio, a następnie kliknij Template Gallery.
  2. Kliknij ikonę "Aktualizuj teraz" w lewym dolnym rogu.
  3. Wybierz z drzewa katalogów: Namacalny> Visual Studio CodeModel.
  4. W menu plików prawym przyciskiem myszy na "Walking the Visual Studio Code Model" i wybierz "Dodaj do rozwiązania ..."
  5. Wybierz "VisualStudioHelper.ttinclude".
  6. W pliku .tt patrz VisualStudioHelper następująco:

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