Numero di versione di un assembly non corrispondente

Quando si sviluppa una applicazione o una libreria DLL in Microsoft C# ci si scontra ovviamente con il sistema di numerazione delle versione tramite il file AssemblyInfo.cs.
La soluzione più semplice è quella di modificare manualmente le voci AssemblyVersion e AssemblyFileVersion in modo che corrispondano al numero di versione desiderato e modificare; in questo modo nelle proprietà del file generato (exe o dll) comparirà il numero corrispondente.
una soluzione proposta da Microsoft Visual Studio invece è quella di far generare il numero di versione in modo automatico, ad ogni build.
Per far questo è necessario impostare le voci nel file AssemblyInfo.cs nel modo seguente:

[assembly: AssemblyVersion(“1.0.*”)]
[assembly: AssemblyFileVersion(“1.0.*”)]

Cosi facendo il numero generato avrà una forma del tipo 1.0.3876.17830 dove 3876 è la rappresentazione della data odierna e 17830 è la rappresentazione dell’ora di compilazione cioè: 1.0.date.time
In questo casò però se andiamo a controllare il numero di versione direttamente nelle proprietà del file generato vedremo che riporta il valore 1.0.* e non quello completo generato automaticamente. Questo è un problema comune e molto fastidioso.
Per ovviare a questo inconveniente è necessario semplicemente commentare (o cancellare) la seconda voce che abbiamo modificato, cioè:

//[assembly: AssemblyFileVersion(“1.0.*”)]

A questo punto il numero di versione del file corrisponderà al numero di versione dell’assembly generato automaticamente ed il gioco è fatto.

https://www.desdinova.it
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)
Daniele Ferla
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)

Must Read