C# Versionsnummer Variable?

Blechdose

Ensign
Registriert
Mai 2008
Beiträge
148
Hallo,

der Titel sagt eigentlich schon alles, auf meinem Screen (anhang) kann man es deutlich sehen; ich schreibe derzeit an einem kleinen Programm, jedoch ändert sich die Versionsnummer sehr häufig, wie kann ich also nach jedem "release" die Dateiversion, Produktversion und die Version im Fenster (reiner Text) automatisch 1 hochstellen?

Bis jetzt mache ich das immer sehr umständlich wie ich finde ( erst im Fenster umstellen, dann publischen, und dann nochmal release). Gibt es für das Fenster nicht irgendeine Variable, sodass ich das nicht immer manuelle eintippen muss?

Wäre dankbar für Hilfe ;)
 

Anhänge

  • netpad2.JPG
    netpad2.JPG
    93,7 KB · Aufrufe: 423
Während der Laufzeit kannst du das nicht ändern, da diese Informationen als Resource zur EXE hinzugefügt werden.
 
@Cyba_Mephisto: Warum soll man über Interop und externe Funktionen das ganze machen, wenn im .Net Framework bereits entsprechende Klassen und Methoden vorhanden sind? Schaust du auch ab und zu mal da rein, was du hier postest?

@Blechdose: Ich hab mal das ganze in 2 Funktionen gepackt, probier die mal aus:
Code:
    public string GetFileVersion()
    {
      System.Reflection.AssemblyFileVersionAttribute versFile = 
        (System.Reflection.AssemblyFileVersionAttribute)
        System.Reflection.Assembly.GetEntryAssembly().GetCustomAttributes(
          typeof(System.Reflection.AssemblyFileVersionAttribute), false)[0];
      return versFile.Version;
    }
    public string GetAssemblyVersion(int fieldCount)
    {
      return System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString(fieldCount);
    }
 
Zuletzt bearbeitet:
Hab´gegooglet und zunächst nur das gefunden.
Tut mir Leid, dass ich jedoch so freundlich war, mein Ergebnis mitzuteilen.:rolleyes:

Immer wenn ich sehe, dass du gepostet hast, kritisierst du irgendjemanden. Und da du wohl kaum Gott bist, bist du einfach nur scheiße unfreundlich und nervtötend. Ein normaler Hinweis auf bessere Lösungswege hätte gereicht.
 
Wo wir beim Thema wären. Ich betrachte es mal als eine Anregung für meine weiteren Postings, aber da du in deinen eigenen Postings sehr schnell ausrastest und auf laut schreiend jeden fertíg machen willst, habe ich nicht so das Bedürfnis mich weiter von dir provozieren zu lassen. Ich denke da an das eine Posting wo einer mal dich kritisierte und du dann ihm mit Sperrung seines Accounts und Beschwerde beim Forumbetreiber gedroht hast.

Fakt ist, wenn was "Fachliches" von dir kommt, dann ist es nur ein Link auf irgend eine Google Seite oder sonst wo, was relativ schnell wieder verschwindet und nach längerer Zeit nicht mehr nachvollziehbar ist. Im übrigen scheinst du meine Posts nicht sonderlich genau zu lesen, aber das ist nun mal so, wenn man allzu selbstverliebt nur das liest, was man wahr haben möchte. Ich betrachte das Forum als ein Medium für einen freien Meinungsaustausch. Das ist jetzt mein letztes Posting zu diesem Thema. Und jetzt Schluß mit dem bashing.
 
Vielen Dank für die ganze Hilfe soweit, ich werd mir das mal bis zum Wochenende genauer anschauen...
 
Hallo und sorry für Doppelposting, aber was mache ich den bitte wenn ich
Code:
public string GetFileVersion()
    {
      System.Reflection.AssemblyFileVersionAttribute versFile = 
        (System.Reflection.AssemblyFileVersionAttribute)
        System.Reflection.Assembly.GetEntryAssembly().GetCustomAttributes(
          typeof(System.Reflection.AssemblyFileVersionAttribute), false)[0];
      return versFile.Version;
    }
    public string GetAssemblyVersion(int fieldCount)
    {
      return System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString(fieldCount);
    }

das hier habe? Wo kommt das hinein? Wie verändert das meinen Text im Bild? Und wie verändert das meine Dateiversion bei jedem neuen Release?
 
Das sind 2 Methoden die du in deine Form (die Klasse) aufnimmst und dann den Aufruf im z.B. OnLoad() entsprechend verwendest. Diese 2 Funktionen ermitteln stets die Versions Nummern deiner Applikation und geben diese als einen String zurück.

Wenn du die Versionsnummer in der Titelleiste anzeigen willst, dann z.B.:

Code:
protected overrides void OnLoad(System.EventArgs e)
{
  this.Text = "MyProgram v"+GetAssemblyVersion(4);
  base.OnLoad(e);
}

oder

Code:
protected overrides void OnLoad(System.EventArgs e)
{
  this.Text = "MyProgram v"+GetFileVersion();
  base.OnLoad(e);
}
 
Ah vielen dank, nun sieht das ganze schon besser aus ;)
 
Zurück
Oben