Verwenden Sie TextTransform, um automatisch Code mit T4 zu generieren, ohne Visual Studio zu starten

Diese Seite wurde aktualisiert :
Erstellungsdatum der Seite :

Betriebsumgebung

Visuelles Studio
  • Visual Studio 2022
Fenster
  • Mit Windows 11

Voraussetzungen

Visuelles Studio
  • Es funktioniert sogar mit einer etwas älteren Version

Vorbedingung

Dieser Tipp setzt Folgendes voraus:

  • Visual Studio unter Windows installiert

In diesem Fall verwenden wir ein Tool namens "TextTransform (oder TextTransformCore)", aber da es sich um ein Tool handelt, das in Visual Studio enthalten ist, ist es notwendig, es auch dann zu installieren, wenn Sie Visual Studio nicht starten.

Was ist der Unterschied zwischen "TextTransform.exe" und "TextTransformCore.exe"?

"TextTransform.exe" ist ein frühes Tool, das es seit dem Aufkommen des Entity Framework gibt.

TextTransformCore.exe ist ein neues Tool, das auf .NET 6 aufbaut.

Es gibt keinen großen funktionalen Unterschied, so dass es keine Rolle spielt, welches Sie verwenden.

Erstellen einer T4-Datei (.tt)

Es unterscheidet sich nicht von dem, was Sie in Visual Studio erstellen, also verwenden Sie einen Text-Editor, um es zu erstellen. Dieses Mal verwenden wir den Code, den wir zuvor als Herr/Frau erstellt haben.

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>

<#
  List<string> types = new(){"Int", "Short", "Long", "Float", "Double", "Decimal"}; 
#>

public static class ParseExtensions
{
<# foreach (var type in types) { #>
<#   var typeLower = type.ToLower(); #>
  public static <#= typeLower #> Parse<#= type #>(this string self, <#= typeLower #> defaultValue)
  {
    return <#= typeLower #>.TryParse(self, out var val) ? val : defaultValue;
  }
<# } #>
}

In diesem Fall legen wir diese Datei an folgendem Ort ab. Sie können es überall ausführen, also lassen Sie es stehen, wo immer Sie wollen.

  • C:\Vorübergehend\Sample.tt

Generieren von Code mit dem Kommandozeilentool "TextTransform"

In Visual Studio war es einfach, da Visual Studio automatisch Code mit "TextTransform" generierte, aber wenn Sie Visual Studio nicht verwenden, müssen Sie Code manuell mit "TextTransform" generieren.

TextTransform ist ein Befehlszeilentool, das installiert wird, wenn Sie Visual Studio im folgenden Ordner installieren:

  • < drivePath>\Programme\Microsoft Visual Studio\<Visual Studio Version>\<Editions>\Common7\IDE\TextTransform.exe
  • < Laufwerkspfad>\Programme\Microsoft Visual Studio\<Visual Studio Version>\<Editions>\Common7\IDE\TextTransformCore.exe

[Beispiel]

  • C:\Programme\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform.exe

Starten Sie ein Terminal oder eine Eingabeaufforderung, und verwenden Sie TextTransform, um Code zu generieren.

Starten Sie unter Windows 11 Terminal über das Startmenü. Verwenden Sie für andere Betriebssysteme die Eingabeaufforderung.

Wechseln Sie für Terminal zur Eingabeaufforderung. Es gibt nichts, was Sie mit PowerShell nicht tun können, aber die Beschreibung ändert sich leicht.

cd Navigieren Sie im Befehl zu dem Ordner, in dem Sie die TT-Datei abgelegt haben, und geben Sie den Befehl wie folgt ein: (Ändern Sie die Version des Ordnerpfads entsprechend.)

[Beispiel für die Eingabe]

  • "C:\Programme\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform" Sample.tt

Wenn der Vorgang erfolgreich ist, wird er so fortgesetzt, als ob er ohne Zwischenfälle durchgeführt worden wäre. Wenn Sie sich den Ordner tatsächlich ansehen, können Sie sehen, dass der Code automatisch generiert wird.

Die Inhalte werden auch ordnungsgemäß erstellt.

Ich möchte den Pfad von TextTransform beim Ausführen eines Befehls verkürzen.

Wenn Sie nicht jedes Mal, wenn Sie einen Befehl ausführen, einen langen Pfad zu Ihrer TextTransform schreiben möchten, können Sie diesen Pfad in einer "Umgebungsvariablen" registrieren. Wenn es sich um eine Entwicklungseingabeaufforderung handelt, die im Lieferumfang von Visual Studio enthalten ist, wird standardmäßig auf diesen Pfad verwiesen, wodurch das Schreiben vereinfacht wird.

Wenn Sie sich den Visual Studio-Ordner über das Startmenü ansehen, finden Sie eine Eingabeaufforderung für die Entwicklung, die Sie starten können.

Auf die gleiche Weise können Sie beim Schreiben eines Befehls den Pfad der TextTransform weglassen und ausführen.

Übrigens, im Fall von Windows 11 ist es einfach, es zu öffnen, da es in das Terminal integriert ist.

Fügen Sie Befehle in eine .bat- oder PS1-Datei ein, um ihre Ausführung zu vereinfachen

Der zu beschreibende Inhalt ist der gleiche wie bei der Eingabe eines normalen Befehls, daher wird der Inhalt weggelassen. Abhängig von den Betriebssystemeinstellungen kann es eingeschränkt sein, so dass es nicht ausgeführt werden kann, selbst wenn Sie auf die .bat- oder .ps1-Datei doppelklicken. In diesem Fall stellen Sie es bitte so ein, dass es ausgeführt werden kann.