Wann unterstützt T4MVC Razor mit expliziten HtmlHelpern zum Rendern von Teiltönen?

8

Ich benutze T4MVC schon seit einiger Zeit und liebe die Funktion "Explizite HtmlHelper zum Rendern von Teiltönen", die standardmäßig ausgeschaltet ist. Ich verwende T4MVC Version 2.6.40.

Ich habe kürzlich auf MVC3 aktualisiert und festgestellt, dass keine expliziten HtmlHelper für Razor Partials generiert werden. Daher habe ich den Quellcode der T4MVC Textvorlage untersucht und eine Methode mit dem Namen "GetPartials" gefunden, die eine Codezeile wie folgt enthält:

%Vor%

Es ist also klar, dass Razor-Ansichten nicht unterstützt werden.

Ich möchte auch erwähnen, dass ich beim Ausführen der T4-Vorlage (Rechtsklick & gt; Ausführen des benutzerdefinierten Tools) eine Compilerwarnung mit folgendem Wortlaut erhält: "Die C # 2.0- und C # 3.5-Compiler werden nicht mehr unterstützt. Vorlagen werden immer sein kompiliert mit dem Compiler der Version 4 anstelle von 'v3.5' wie angegeben. "

Dies bezieht sich auf Zeile 18, wo das Vorlagensprachattribut den Wert "C # v3.5" hat. Warum muss es eine explizite Versionsabhängigkeit haben? Kann es nicht nur "C #" sein?

Entschuldigung, zwei getrennte Fragen in einem Beitrag zu stellen.

    
Shayne 01.02.2011, 09:56
quelle

2 Antworten

11

Ich habe gerade T4MVC 2.6.42 veröffentlicht, um dies zu beheben. Sie können es von Codeplex oder von NuGet erhalten.

Beachten Sie, dass, um eine Rasierklingen-Datei als Teil von T4MVC erkannt zu bekommen, ihr Name mit einem Unterstrich beginnen muss (z. B. _foo.cshtml). Ohne diese Einschränkung würden wir am Ende Hilfsmethoden für alle Ansichten erstellen, die Dinge verschmutzen und keinen Mehrwert schaffen. Beachten Sie, dass das Voranstellen partieller Razor-Ansichten mit _ im Allgemeinen vom MVC-Team empfohlen wird.

Was die Warnung betrifft, ist sie nicht verwandt und ist gutartig. Um es loszuwerden, ändern Sie einfach language="C # v3.5" in language="C #". Ich kann diese Änderung nicht in der offiziellen Version vornehmen, da dies bei der Ausführung von 3.5 zum Bruch führen würde (und ich möchte dafür nicht nur zwei separate Versionen beibehalten).

    
David Ebbo 02.02.2011, 02:42
quelle
2

Die Compiler-Warnung, die Sie erhalten, ist nur eine Warnung. Es verhindert nicht, dass T4MVC funktioniert.

Um Razor zu unterstützen, haben Sie den passenden Code in der Vorlage gefunden - modifizieren Sie ihn einfach.

%Vor%

Ich würde es versuchen.

Es ist nur ein T4-Template, keine Magie. Alles, was es enthält, ist ein einfacher c # -Code, der Projektinformationen aus der Visual Studio-Umgebung holt und einen ziemlich einfachen c # -Code erzeugt.

    
quentin-starin 01.02.2011 15:45
quelle