Laden...

[gelöst] Kompilierungszeitpunkt feststellen/ausgeben

Erstellt von Marwyc vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.202 Views
M
Marwyc Themenstarter:in
15 Beiträge seit 2010
vor 9 Jahren
[gelöst] Kompilierungszeitpunkt feststellen/ausgeben

Hallo,

ich suche eine Lösung für ein relativ simples Problem, und ich bin mir sicher, dass die Lösung nahe liegend ist. Ich möchte in einer Form den Zeitpunkt der Kompilierung feststellen, ohne das sich die Uhrzeit bei jedem Start verstellt. Funktioniert das überhaupt mit einem Datentyp? Oder geht das nur mit Dateien die außerhalb des Projektes liegen? Ich könnte ja per FileStream eine Datei erzeugen, aber geht das nicht eleganter?

        private void Form1_Load(object sender, EventArgs e)
        {

            InfoText.Text = "Version 0.01 - Kompiliert am " + DateTime.UtcNow;
        }

Hier ist es klar, dass sich die Uhr bei jeder Ausführung verändert. Ich könnte ja nun die Uhrzeit immer selber eintragen, aber eine elegantere Lösung die automatisch funktioniert wäre doch deutlich bequemer.

Gruß,

Marwyc

🙂

1.361 Beiträge seit 2007
vor 9 Jahren

Hey Marwyc,

schau mal hier auf Stackoverflow:
Displaying the build date.

Das Build-Datum versteckt sich im Header deines Executables.

beste Grüße
zommi

M
Marwyc Themenstarter:in
15 Beiträge seit 2010
vor 9 Jahren

Hey, vielen dank! Hätte ich auch selbst finden können, hab mich mit den Suchbegriffen etwas dämlich angestellt. 😁

Falls das hier jemand sieht und er nicht alles durchlesen will, hier die Zeile.

string BuildDate = System.IO.File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location).ToString();

Damit kann hier zu.

Hinweis von gfoidl vor 9 Jahren

Sofern Beiträge den Regeln ([Hinweis] Wie poste ich richtig?) entsprechen, werden sie nicht geschlossen 😉

🙂

1.361 Beiträge seit 2007
vor 9 Jahren

Hey,

nunja, in dem SO-Thread werden mehrere Lösungen skizziert.
*Datum des letzten Schreibzugriffs auf die Datei *Zurückrechnen aus den automatisch zugewiesenen Build/Revision-Nummern der Assmembly *Den Zeitstempel des Linkers aus dem Header des Executables auslesen

Wobei die erste Variante nicht immer funktioniert.
(Datei übers Netzwerk, kopieren, aus (Zip)Archiven entpacken, etc...)

Die zweite fühlt sich wie ein Hack an.

Lediglich die dritte scheint mir ein robustes ermitteln des Link-Zeitpunkts (und damit der Compilation) zu ermöglichen.

beste Grüße
zommi

S
145 Beiträge seit 2013
vor 9 Jahren

Wie wäre eventuell es mit nem Präbuild Command
der die Uhrzeit vorher noch in eine Ressource schreibt?