2010-06-07 7 views
1

J'essaie d'accéder aux numéros AssemblyVersion et AssemblyFileVersion dans les informations d'assemblage à l'aide de la ligne de commande de l'événement post build dans visual studio 2008. Y at-il un moyen? pour avoir accès à cette information similaire à comment $ (TargetName) obtient sa définition de la macro à partir du titre du projet.Accès au numéro AssemblyVersion à partir de l'information d'assemblage à utiliser dans la ligne de commande de l'événement post build

Répondre

2

Ils sont déclarés dans le fichier AssemblyInfo.cs et incorporés dans $ (TargetPath). Vous pourriez écrire un petit utilitaire pour le déterrer à nouveau. Par exemple:

using System; 
using System.Reflection; 

class Program { 
    static void Main(string[] args) { 
     if (args.Length == 0) throw new Exception("Assembly path required"); 
     var asm = Assembly.LoadFile(args[0]); 
     Console.WriteLine(asm.GetName().Version.ToString()); 
     var vers = (AssemblyFileVersionAttribute)asm.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false)[0]; 
     Console.WriteLine(vers.Version); 
    } 
} 

post construire événement devrait ressembler à ceci:

c:\bin\myutil.exe $(TargetPath) 
+0

Merci, la 'Assembly.LoadFile' est exactement ce que je dois. – MBU

Questions connexes