Release-Datum: In Entwicklung
Commit-Referenz: 5c37e68
Diese Preview-Version erweitert die MbSoftLab.TemplateEngine.Core um Razor-Template-Unterstützung und verbessert den Build- und Veröffentlichungsprozess.
Die neue RazorTemplateEngine<T> Klasse ermöglicht die Nutzung von Razor-Syntax für komplexe HTML-Templates:
Person person = new Person { FirstName = "Max", LastName = "Mustermann" };
var engine = new RazorTemplateEngine<Person>();
engine.LoadTemplateFromFile<Person>("template.cshtml");
string result = engine.CreateStringFromTemplate(person);Vorteile:
- Volle Razor-Syntax-Unterstützung (Schleifen, Bedingungen, etc.)
- Typsichere Template-Erstellung
- Kompilierte Templates für bessere Performance
- Methodenaufrufe: Templates können jetzt parameterlose öffentliche Methoden aufrufen:
${MethodName()} - JSON-Unterstützung: Direkte Deserialisierung von JSON in TemplateDataModel
- Template aus Datei laden:
LoadTemplateFromFile<T>()Erweiterungsmethode
ITemplateEngine<T>als gemeinsames Interface für beide Engine-TypenITemplateEngineConfig<T>für konsistente Konfiguration- Bessere Erweiterbarkeit und Testbarkeit
- Modernisierter Release-Workflow:
- Umstellung von veralteter NuGet-Publish-Action auf native dotnet-Befehle
dotnet packfür Package-Erstellungdotnet nuget pushfür NuGet-Veröffentlichung- Verbesserte Zuverlässigkeit und Wartbarkeit
- XML-Dokumentation für alle öffentlichen APIs
- Einheitliche Fehlerbehandlung
- Kultur-spezifische Formatierung konfigurierbar
- Target Framework: .NET 8.0
- Assembly Version: 1.0.8.2
- Package Version: 1.0.8-preview2
- Lizenz: MIT
- RazorEngineCore 2020.10.1
- Automatische Package-Generierung beim Build
- XML-Dokumentationsdatei wird generiert
- NuGet-Package mit Logo und vollständigen Metadaten
Ideal für einfache Platzhalter-Ersetzungen in Konfigurationsdateien, E-Mails oder Berichten.
Mit der Razor-Engine können Sie komplexe HTML-Dokumente mit Schleifen, Bedingungen und verschachtelten Strukturen erstellen.
Nutzen Sie die Template-Engines zur automatischen Code-, Konfigurations- oder Dokumentationsgenerierung.
Die API ist abwärtskompatibel. Bestehender Code funktioniert weiterhin:
// Alter Code funktioniert weiterhin
var engine = new TemplateEngine(dataModel, template);
string result = engine.CreateStringFromTemplate();Neue Features können optional genutzt werden:
// Neuer Code mit Razor
var razorEngine = new RazorTemplateEngine<MyModel>(dataModel, razorTemplate);
string result = razorEngine.CreateStringFromTemplate();-
Collections nicht unterstützt in der einfachen TemplateEngine
- Workaround: Verwenden Sie RazorTemplateEngine für Listen und Arrays
-
Nur parameterlose Methoden werden unterstützt
- Zukünftige Versionen könnten Methoden mit Parametern unterstützen
-
XML-Dokumentations-Warnung bei
LoadTemplateFromFile- Wird in der nächsten Version behoben
- NuGet Package: https://www.nuget.org/packages/MbSoftLab.TemplateEngine.Core/
- GitHub Repository: https://github.com/mbsoftlab/MbSoftLab.TemplateEngine.Core
- Issues: https://github.com/mbsoftlab/MbSoftLab.TemplateEngine.Core/issues
- Dokumentation: Siehe
/docsVerzeichnis
Danke an alle Mitwirkenden und Nutzer für ihr Feedback und ihre Unterstützung bei der Weiterentwicklung dieses Projekts.
Commit-Referenz für diese Release Notes: 5c37e68