Utilisation de C # AssemblyFileVersion dans un programme

Je travaille sur un programme et j’essaie d’afficher la version FILE de l’assembly.

public static ssortingng Version { get { Assembly asm = Assembly.GetExecutingAssembly(); FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location); return Ssortingng.Format("{0}.{1}", fvi.FileMajorPart, fvi.FileMinorPart); } } 

Pour le moment, cela ne renvoie que les deux premiers numéros de version de “AssemblyVersion”, pas “AssemblyFileVersion”. J’aimerais vraiment juste faire référence à AssemblyFileVersion plutôt que de stocker une variable interne appelée “Version” que je dois mettre à jour à la fois pour cette version et celle de l’assembly …

 [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyFileVersion("3.5.0")] 

C’est mon AssemblyFileVersion de AssemblyInfo.cs. Je voudrais juste faire référence à la partie “3.5.x”, pas à la “1.0. *”: /

Merci Zack

Utilisez ProductMajorPart / ProductMinorPart au lieu de FileMajorPart / FileMinorPart:

  public static ssortingng Version { get { Assembly asm = Assembly.GetExecutingAssembly(); FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(asm.Location); return Ssortingng.Format("{0}.{1}", fvi.ProductMajorPart, fvi.ProductMinorPart); } } 
 using System.Reflection; using System.IO; FileVersionInfo fv = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location); Console.WriteLine("AssemblyVersion : {0}", Assembly.GetExecutingAssembly().GetName().Version.ToSsortingng()); Console.WriteLine ("AssemblyFileVersion : {0}" , fv.FileVersion.ToSsortingng ()); 
  var fileVersion = GetCustomAtsortingbuteValue(assembly, "Version"); private static ssortingng GetCustomAtsortingbuteValue(Assembly assembly, ssortingng propertyName) where T : Atsortingbute { if (assembly == null || ssortingng.IsNullOrEmpty(propertyName)) return ssortingng.Empty; object[] atsortingbutes = assembly.GetCustomAtsortingbutes(typeof(T), false); if (atsortingbutes.Length == 0) return ssortingng.Empty; var atsortingbute = atsortingbutes[0] as T; if (atsortingbute == null) return ssortingng.Empty; var propertyInfo = atsortingbute.GetType().GetProperty(propertyName); if (propertyInfo == null) return ssortingng.Empty; var value = propertyInfo.GetValue(atsortingbute, null); return value.ToSsortingng(); } 

Pour obtenir la version de l’assembly en cours d’exécution, vous pouvez utiliser:

 using System.Reflection; Version version = Assembly.GetExecutingAssembly().GetName().Version; 

La classe Assembly peut également charger des fichiers et accéder à tous les assemblys chargés dans un processus.

Je suppose que vous devrez utiliser la classe FileVersionInfo.

System.Diagnostics.FileVersionInfo.GetVersionInfo(FullpathToAssembly)

  protected void Application_Start(object sender, EventArgs e) { _log.InfoFormat("*************{0} **** Version: {1}************ ", Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().GetName().Version); } 

Sortie

INFO Global – ************* CustomerFile **** Version: 1.0.17.2510 *************