2017-03-22 6 views
5

Ich habe ein project.json/.xproj Projekt in das neuere Format CS2017 .csproj migriert.T4-Vorlagen erzeugen keine Ausgabe in neuen VS2017-Csproj-Projekten

Das Projekt enthält eine T4 (.tt) Vorlagendatei.

Die Ausgabe wird beim Speichern oder Erstellen nicht neu generiert. Die Ausgabe .cs Datei ist nicht unter der Datei .tt entweder verschachtelt.

Gibt es etwas, was ich tun muss, damit das funktioniert?

Antwort

7

.tt Dateien werden nur von VS auf Speichern automatisch ausgeführt. Sie können AutoT4 installieren, damit sie vor/nach dem Build ausgeführt werden. (Beachten Sie, dass es im Moment eine Einschränkung mit den neuen .csproj Dateien ist - die Möglichkeiten für sie nicht auftauchen im Eigenschaftenfenster.)

Wenn Sie aus dem alten project.json/.xproj Format konvertiert haben

<ItemGroup> 
    <None Update="Foo.tt"> 
    <Generator>TextTemplatingFileGenerator</Generator> 
    <LastGenOutput>Foo.cs</LastGenOutput> 
    </None> 
    <Compile Update="Foo.cs"> 
    <DesignTime>True</DesignTime> 
    <AutoGen>True</AutoGen> 
    <DependentUpon>Foo.tt</DependentUpon> 
    </Compile> 
</ItemGroup> 

Related GitHub issue

bearbeiten

:, Sie explizit müssen, um die Vorlage in das Projekt ein

Wie in den Kommentaren unten erwähnt, können Sie dies schnell & einfach durch Ausschließen, dann einschließlich der Vorlage in Ihrem Projekt.

+0

Vielen Dank nochmal für Ihre Hilfe :) –

+1

Ich finde, dass Sie * ** ** die TT-Datei * ** ausschließen und ** ** dann wieder einbeziehen können, wenn die Konvertierung von Visual Studio die TT-Datei nicht explizit markiert hat. – jbtule

+0

Danke. Das ist ein guter Tipp. Ich habe es meiner Antwort hinzugefügt. –