Technology Experience
.NET World

Ottenere la versione di un Assembly con WinRT

Con le applicazioni Windows, compreso Silverlight, che quindi comprende a sua volta anche il mondo Windows Phone, potevamo scrivere il codice seguente:

string version = System.Reflection.Assembly.GetExecutingAssembly().FullName.Split(',')[1];
string[] fullversion = version.Split('=')[1].Split('.');
return fullversion[0] + "." + fullversion[1];

 

Questo mi permette di estrarre dal FullName di un Assembly il numero di versione dell’assembly stesso, molto comodo per essere visualizzato su una Page di Silverlight.

Il codice da scrivere con WinRT, e quindi con Windows 8, è leggermente diverso.

string version = typeof(<qualsiasi_classe_usata_nel_codice>).GetTypeInfo().Assembly.FullName.Split(',')[1];

 

La differenza è tutta nella prima riga di codice. In pratica si tratta di avere un’istanza di Type relativa ad una qualsiasi classe del proprio codice, chiamare il metodo GetTypeInfo(), per arrivare all’Assembly, etc. etc. Notare che GetTypeInfo() è un’extension method, per cui bisogna includere il namespace System.Reflection.

Tutto qua, il resto del codice è analogo al precedente. Con qualche split si ottiene il numero di versione dell’assembly.

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.