Informazioni su version, build e revision

di joker7421 il
13 risposte
Buongiorno a tutti,
non riesco a capire come accedere alle proprietà contenute in AssemblyInfo.Version: Major, Minor, Build e Revision
Praticamente quando scrivo:
lblVersione.Text = "Versione " & My.Application.Info.Version.Major.ToString & "." & My.Application.Info.Version.Minor.ToString & "." & My.Application.Info.Version.Build.ToString & "." &  My.Application.Info.Version.Revision.ToString 
il risultato è: Versione: 1.0.0.0.
Qualche consiglio?
Grazie

13 Risposte

  • Non potrebbe essere il risultato corretto?
  • Nelle proprietà del progetto ho spuntato la voce "Aumenta automaticamente numero revisione ad ogni pubblicazione" ... infatti sono arrivato a 1.2.1.23.
    Speravo che le proprietà di Version mi leggessero quel valore.
  • Sei in Debug o in Release?
    Se sei in release, usi ClickOnce?
  • Sgrubak ha scritto:


    Sei in Debug o in Release?
    Se sei in release, usi ClickOnce?
    Purtroppo conosco poco l'ambiente di sviluppo, per "Debug" io intendo: clicco su AVVIA oppure F5 e provo il progetto
    Per Release cosa intendi?
    Anche pubblicando il progetto su supporto e poi installandolo, non mi incrementa mai la versione.
  • Prima di pubblicare, cambi la modalità cerchiata in rosso?
    Allegati:
    30439_dff4147869b2a54bf704e0745fb626d1.png
    30439_dff4147869b2a54bf704e0745fb626d1.png
  • Devi prima importare la libreria con
    Imports System.Deployment.Application
    e poi leggi la versione con
    ApplicationDeployment.CurrentDeployment.CurrentVersion
  • Sgrubak ha scritto:


    Prima di pubblicare, cambi la modalità cerchiata in rosso?
    Grazie Sgrubak
    No, non l'ho cambiata finora ma cosa cambia quando faccio le prove?

    SirJo ha scritto:


    Devi prima importare la libreria con
    Imports System.Deployment.Application
    Grazie SirJo, ci provo e vi aggiorno
  • Ho provato ma niente da fare.
    lblTitoloAbout.Text = "Versione " & ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString
    Mi dà errore: Identità di applicazione non impostata
    Sto cercando informazione dappertutto ma non riesco a venirne a capo.
  • joker7421 ha scritto:


    No, non l'ho cambiata finora ma cosa cambia quando faccio le prove?
    Cambia che sono due eseguibili diversi... E quindi cambiano anche le informazioni contenute. In debug non mi pare che si aggiorni la versione. Resta sempre 1.0.0.0

    Io l'avevo risolta con la compilazione condizionale. Ti lascio uno snippet in c# per rendere l'idea:
                #if DEBUG
                            Text += " - Debug";
                #else
                            Version version = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion;
                            Text = string.Format("{0} - Versione {1}.{2}.{3}.{4}" , Text, version.Major, version.Minor, version.Build, version.Revision);
                #endif
    Non usavo un label ma lo facevo comparire nel Text della form.
  • My.Application.Info.Version si riferisce alla versione dell' Assembly che può essere impostata dalle proprietà del progetto > Applicazione > Informazioni sull'assembly. Tra l'altro non c'è bisogno di concatenare le diverse parti con i punti perché il metodo Tostring effettua la corretta formattazione.

    ApplicationDeployment.CurrentDeployment.CurrentVersion si riferisce invece alla versione di Pubblicazione con ClickOnce, che è altra cosa. Non a caso Sgrubak ti aveva chiesto se usi ClickOnce.

  • grumpy ha scritto:


    My.Application.Info.Version si riferisce alla versione dell' Assembly che può essere impostata dalle proprietà del progetto > Applicazione > Informazioni sull'assembly.
    Si, infatti ho provato a scrivere la versione in quei campi e poi con "Application.Info.Version" ritrovo la versione. Purtroppo non aumenta automaticamente dopo ogni modifica che effettuo, a differenza della "Versione di pubblicazione" che, se ho capito bene, non è possibile leggere da codice.

    grumpy ha scritto:


    Tra l'altro non c'è bisogno di concatenare le diverse parti con i punti perché il metodo Tostring effettua la corretta formattazione..
    Ho provato a togliere i punti ma il risultato non è buono ... mi dà tutto attaccato.

    grumpy ha scritto:


    ApplicationDeployment.CurrentDeployment.CurrentVersion si riferisce invece alla versione di Pubblicazione con ClickOnce, che è altra cosa. Non ha caso Sgrubak ti aveva chiesto se usi ClickOnce.
    Leggendo qualcosa, ho capito che ClickOnce è il metodo di pubblicazione che usa Visual Studio 2022. Io uso questo per "pubblicare" il progetto. A me interessa solo creare un setup di installazione che mi permetta di trasferirlo su altri PC di casa e in ufficio tramite un pendrive.
  • joker7421 ha scritto:


    Ho provato a togliere i punti ma il risultato non è buono ... mi dà tutto attaccato.
    
    My.Application.Info.Version.Major.ToString & "." & My.Application.Info.Version.Minor.ToString & "." & My.Application.Info.Version.Build.ToString & "." & My.Application.Info.Version.Revision.ToString
    
    è uguale a
    
    My.Application.Info.Version.ToString
    
  • grumpy ha scritto:


    
    My.Application.Info.Version.ToString
    
    ops ... avevo capito male ... GRAZIE
Devi accedere o registrarti per scrivere nel forum
13 risposte