2011-07-14 10 views

Odpowiedz

7

Podczas korzystania z programu Visual Studio 2010 można tymczasowo zmienić niestandardowe narzędzie na szablonie z TextTemplatingFileGenerator na TextTemplatingFilePreprocessor.

Spowoduje to wypisanie kodu źródłowego bezpośrednio do projektu zamiast do zwykłego szablonu.

+0

+1 + poprawny: To wygrywa mój głos za samą wygodę. Generuje plik .cs w miejscu, gdzie znajduje się .config. Chłodny! Wielkie dzięki. –

+0

Jedno słowo ostrzeżenia dla wszystkich korzystających z kontroli źródła ...zmiana narzędzia T4 powoduje oznaczenie poprzedniego pliku wyjściowego do usunięcia. –

+0

+1 Służy do kompilacji 'EF.Utility.CS.ttinclude' do złożenia zawierającego klasy. – Lukazoid

0

Nie wiem, jak zrobić dokładnie to, co chcesz, ale wiem, jak przejść przez kod t4 w visual studio. Musisz uruchomić drugą instancję visual studio i dołączyć ją do pierwszej instancji za pomocą Debug-> Attach to process ... (Dołączanie do siebie, dziwne, wiem). Dzięki temu możesz umieścić punkty przerwania w pliku T4 w drugiej instancji, a to zatrzyma się i pozwoli ci przez nie przejść i zobaczyć, co się dzieje.

Edit:

Trzeba robić T4 przekształcić w visual studio zamiast narzędzia wiersza polecenia, aby to zadziałało. Umieść swój plik .tt w swoim projekcie i ustaw "Custom Tool" we właściwościach na "TextTemplatingFileGenerator". Wygeneruje pliki za każdym razem, gdy powiesz plik do zapisania, lub gdy klikniesz prawym klawiszem myszy i powiesz "Uruchom narzędzie niestandardowe" na pliku. Aby uzyskać więcej informacji, patrz this MSDN article.

Polecam również pobranie tangible T4 editor darmowej wersji, która dodaje podświetlanie kodu i intellisense do około 90% przypadków potrzebnych do tego celu (dodaje go tylko do funkcji w Core.dll dla platformy .NET). wersja płatna doda intellisense do wszystkich dołączonych złożeń.

Edycja2: Jeśli naprawdę potrzebujesz plików tymczasowych cs, których używasz, możesz zobaczyć, jakie pliki cs z folderu tymczasowego są załadowane do debuggera (nie pamiętam dokładnie gdzie).

+0

Usunąłem rzeczy o opcjach wiersza poleceń jako wprowadzające w błąd (działamy w Dev Studio). Punkt przerwania z drugiej kopii Dev Studio nie działał jednak. Po dołączeniu do VS-2010-copy-1 na dowolnym pliku tt w VS-2010-copy-2 punkt przerwania pokazuje "Punkt przerwania nie zostanie aktualnie trafiony. Żaden symbol nie został załadowany dla tego dokumentu". Czy możesz podać więcej informacji? –

+0

Poprzednio próbowałem, i musiałem rozładować, namacalny edytor T4, ponieważ był w konflikcie z innymi dodatkami. Podstawowe opcje wyszukiwania tekstu nie były już dostępne. –

+0

@HiTech Magic, sprawdzę ustawienia, ale może upłynąć kilka godzin, zanim będę miał czas. sprawdź dziś wieczorem. –

5

Jeśli ustawisz

<#@ template debug="true"#> 

następnie wygenerowany kod zostanie pozostawiony w katalogu temp. W moim systemie Windows 7 to C:\Users\John Saunders\AppData\Local\Temp.

+0

Klientem, na którym działam, jest system Windows Server 2003 na wszystkich komputerach. Masz pojęcie, gdzie mogą znajdować się pliki lub jak je nazywają, więc mogę je znaleźć? –

+1

Mają losowe nazwy. Może zajrzyj do C: \ Temp lub wartości zmiennej środowiskowej% TEMP%. –

+0

% TEMP% było właściwą lokalizacją. Twoje rozwiązanie działa przyjemnie i teraz mogę zobaczyć, co generuje. Wielkie dzięki. –

Powiązane problemy