Den von einer T4-Vorlage generierten Dateinamen steuern?

8

Wie kann ich eine T4-Vorlage anweisen, die resultierende Datei unter einem bestimmten Dateinamen zu erzeugen?

Ich werde versuchen, klarer zu sein. Angenommen, ich habe eine Vorlage namens Insert.tt, die Code zum Einfügen eines Datensatzes in eine Tabelle generiert. Es hat eine Ausgabeerweiterung von "sql", also erstellt es eine Datei namens:

Einfügen.sql

Das ist in Ordnung, aber ich möchte, dass der Dateiname widerspiegelt, was ich versuche zu tun. Nehmen wir an, der Name der Tabelle, für die ich eine Insert-Datei erzeuge, wird in & lt; # = TableName # & gt; gespeichert. Ich würde das gerne an den Template-Generator weitergeben und es benutzen, um die resultierende Datei zu speichern.

d. & lt; # SaveTemplateAs ("Einfügen" + Tabellenname); # & gt;

Sagen wir also, ich erzeuge Insert-Anweisungen für die Tabellen User, Address und Phone.

Ich möchte, dass die resultierenden Dateien den Namen InsertUser.sql, InsertAddress.sql und InsertPhone.sql erhalten.

Ich bin mir ziemlich sicher, dass dies getan werden kann, da ich einige benutzerdefinierte Erweiterungen gesehen habe, um mehrere Dateien aus einer einzigen Vorlage zu generieren, aber ich verstehe keinen einfachen (nicht übertriebenen) Weg, dies zu ermöglichen.

>

Danke

    
Todd Davis 30.01.2013, 15:20
quelle

2 Antworten

1

Soweit ich weiß, gibt es keine integrierte Funktionalität in T4, um mehrere Ausgabedateien zu erzeugen. Aber Sie haben recht, es gibt viele Beispiele, die Ihnen sagen, wie Sie mit mehreren Ausgabedateien umgehen.

Vielleicht hilft Ihnen dieser Blogeintrag bei der Lösung Ihres Problems:

Ссылка

Dieser Editor ist kostenlos und kommt mit kostenlosen Beispielen - einer inklusive Code, um die T4-Ausgabe in verschiedene Dateien mit unterschiedlichen Namen und / oder Erweiterungen zu teilen.

    
Nico 31.01.2013, 07:57
quelle
18

Leider scheint das in der Datei .tt selbst nicht möglich zu sein. Sie können den Namen der Ausgabedatei jedoch in der Datei .csproj des Projekts, in dem sich die Textvorlage befindet, festlegen. Entladen Sie das Projekt aus der Visual Studio-Lösung, und öffnen Sie die Projektdatei z. .csproj direkt in einem Texteditor.

Dort finden Sie die Referenz der Vorlagendatei.

Der Knoten <LastGenOutput> steuert den Ausgabedateinamen. Hier können Sie einen gewünschten Dateinamen auswählen.

    
Rolf Cerff 03.09.2014 14:27
quelle

Tags und Links