var attr = Assembly
.GetEntryAssembly()
.GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false)
as AssemblyInformationalVersionAttribute[];
Il est un tableau de AssemblyInformationalVersionAttribute
. Ce n'est jamais nul même s'il n'y a aucun attribut du type recherché.
var attr2 = Attribute
.GetCustomAttribute(
Assembly.GetEntryAssembly(),
typeof(AssemblyInformationalVersionAttribute))
as AssemblyInformationalVersionAttribute;
Ceci peut être nul si l'attribut n'est pas présent.
var attr3 = Attribute
.GetCustomAttributes(
Assembly.GetEntryAssembly(),
typeof(AssemblyInformationalVersionAttribute))
as AssemblyInformationalVersionAttribute[];
Identique à la première.
Voir http://stackoverflow.com/a/19008850/116895 – lance
Notez que ce code ne fonctionne pas si l'assembly n'a pas été chargé à partir d'un fichier ou d'un UNC. Cela peut être le cas si l'assembly est incorporé dans un autre assembly (généralement lors de l'obfuscation d'assemblys) ou pour une autre raison a été chargé en utilisant 'Assembly.Load (byte [])' – larsmoa
Ne fonctionne pas si vous avez 'mkbundle '' d votre application pour Mono – Cocowalla