Wir haben seit einiger Zeit im Footer die genaue Uhrzeit stehen, wann der Quellcode von myCSharp.de erzeugt wurde.
Da ich angeschrieben wurde, wie wir das gemacht haben; hier einfach die Information dazu:
Wir verwenden Source Code Generators, die während der Compile-Time ausgeführt werden, und so beliebigen Quellcode statisch erzeugen.
Diese wurden mit .NET 5 eingeführt. Quellcode-Generatoren
Der Quellcode, den wir für die Build Time verwenden, ist sehr simpel und hier zu finden:
GitHub - BenjaminAbt/AssemblyMetadata: Small sample how to use Source Code Generators in .NET
Anschließend können die statisch erzeugen Klassen (oder andere Dinge) einfach wie jeder andere Abhängigkeit auch verwendet werden.
// Razor View
@using BenjaminAbt.AssemblyMetadata;
@{
DateTimeOffset builtOn = DateTimeOffset.FromFileTime(AssemblyMetadataInfo.BuildInfo.BuildFileTimeUtc);
}
<footer class="footer">
<div>
Entwickelt mit ♥ und ASP.NET Core. Version @(ThisAssembly.AssemblyInformationalVersion) vom
<mycs-user-time value="@(builtOn)" format="dd.MM.yyyy - HH:mm" /> Uhr.
<!-- Die mycs-user-time Komponente lokalisiert automatisch die Uhrzeit anhand der Uhrzeit des Besuchers -->
Die weiteren Informationen im Footer kommen aus https://github.com/dotnet/Nerdbank.GitVersioning
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code