2010-06-23 6 views
0

Nos gestionnaires aimeraient une infobulle sur une icône qui affiche la date de construction de l'application. Je voudrais avoir une variable qui est affectée à la bonne valeur au moment de la construction, donc je n'ai pas besoin de me souvenir de la changer chaque fois que je compile. Y a-t-il un moyen de le faire en C# /. Net?Déterminer les valeurs au moment de la compilation?

+2

Dupliquer - http://stackoverflow.com/questions/1600962/c-displaying-the-build-date –

Répondre

0

Comment compilez-vous votre solution?
S'il s'agit d'une compilation standard avec Visual Studio, vous pouvez définir un événement de pré-construction pour exécuter un script et modifier un fichier de code contenant la date.

1

Pour répondre à la question générale: non, il n'y a aucun moyen de faire le compilateur C# faire un travail au moment de la compilation autre que la simple arithmétique sur les types numériques et la concaténation de chaînes. Vous ne pouvez pas l'obtenir pour intégrer la date actuelle.

A cet effet particulier, cependant, vous pouvez utiliser la « troisième voie » dans le blog de Jeff Atwood: http://www.codinghorror.com/blog/2005/04/determining-build-date-the-hard-way.html

1

Easiest est de vérifier la date/heure du fichier à partir du fichier .exe ou se .dll:

Assembly asm = Assembly.GetExecutingAssembly(); 
if(asm != null && !string.IsNullOrEmpty(asm.Location)) { 
    FileInfo info = new FileInfo(asm.Location); 
    DateTime date = info.CreationTime; 
} 
0

Vous pouvez créer un outil qui est appelé au moment de la construction et insère l'heure actuelle comme constante dans un fichier de code comme assemblyinfo.cs.

Une autre méthode consiste à lire l'heure de modification de fichier à partir du fichier exécutable.

Questions connexes