Précédent   Forum des professionnels en informatique > Dotnet > Développement Windows > Windows Forms
Windows Forms Forum d'entraide sur le développement Windows Forms & Applications Windows. Avant de poster -> Articles Windows Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2006, 10h37   #1
Membre confirmé
 
Inscription : février 2006
Messages : 413
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 413
Points : 268
Points : 268
Par défaut [C#][.NET 2.0]Obtenir la date de dernière compilation

Bonjour à tous,

Est-il possible de connaitre la date de la dernière compilation d'une application.

Parce que pour l'instant j'affiche dans le About une date que je met à jour manuellement mais j'oublie bien souvent de le faire.

Utiliser la date de modification ne fonctionne pas car çela peut être modifié si l'on passe l'application via un serveur ftp par exemple (il me semble).


Merci d'avance,
Nicolas
NicolasJolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2006, 13h20   #2
Rédacteur

 
Avatar de Thomas Lebrun
 
Inscription : octobre 2002
Messages : 9 169
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France

Informations forums :
Inscription : octobre 2002
Messages : 9 169
Points : 12 694
Points : 12 694
Il te suffit de récupérer, dans les propriétés du fichier, la date de création
__________________
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development

WPF par la pratique, mon livre sur WPF ! (également disponible ici ou )

A la découverte de .NET
Thomas Lebrun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2006, 13h28   #3
Membre confirmé
 
Inscription : février 2006
Messages : 413
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 413
Points : 268
Points : 268
La date de création ne change jamais, que l'on mette le fichier dans une archive, sur un serveur ftp, que l'on modifie son nom, ...?

J'ai en tête que cette information n'était valide qu'à condition de rester sur le même PC.
NicolasJolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2006, 16h27   #4
Membre éclairé
 
Avatar de Seth77
 
Homme
Développeur .NET
Inscription : octobre 2005
Messages : 1 262
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2005
Messages : 1 262
Points : 305
Points : 305
Si la date de creation peut changer ....
je ne crois pas que tu puisses la recuperer comme cela ...

cf : http://www.thescripts.com/forum/thread226146.html
Seth77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 14h16   #5
Membre confirmé
 
Inscription : février 2006
Messages : 413
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 413
Points : 268
Points : 268
Une solution élégante que j'ai vue est de définir une nouvelle macro pour le préprocesseur (comme __DATE__ en C++).
Mais je n'ai aucune idée de comment faire et je n'ai rien trouvé sur Google.

Quelqu'un a-t-il déjà joué avec ça?
NicolasJolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 14h31   #6
Membre éclairé
 
Avatar de Seth77
 
Homme
Développeur .NET
Inscription : octobre 2005
Messages : 1 262
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2005
Messages : 1 262
Points : 305
Points : 305
Perso je ne vois pas trop l'interet ... si deja tu fais attention avec les versions , c'est suffisant pour savoir ou tu en es.
Seth77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 14h37   #7
Membre confirmé
 
Inscription : février 2006
Messages : 413
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 413
Points : 268
Points : 268
Oui si on veut.
Mais je trouve beaucoup plus parlant un texte : "version du 27-10-2006" que v4.12.65.1235.
On sait directement si on a à faire à une version récente ou qui date d' il y a plusieurs mois.
On pourrait bien sûr débattre du fait de bien numéroter ses versions, mais je trouve quand même bien plus simple de ne jouer qu'avec une date, et de temps en temps, lorsqu'il y a un gros changement, de modifier le numéro de version...

EDIT: ceci dit je pourrais mettre à la main, à l'instar du système de versioning d'ubuntu et dérivés, la version formée par année.mois.jour.
Mais il n'empêche que, même dans ce cas, je trouve bien simple et efficace que le compilateur le fasse pour moi...
NicolasJolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2006, 14h45   #8
Membre éclairé
 
Avatar de Seth77
 
Homme
Développeur .NET
Inscription : octobre 2005
Messages : 1 262
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2005
Messages : 1 262
Points : 305
Points : 305
Oui c'est pas faux ...

Ben si tu trouve cela m'interesse !
Seth77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2006, 08h51   #9
Membre confirmé
 
Inscription : février 2006
Messages : 413
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : février 2006
Messages : 413
Points : 268
Points : 268
En fait je pense qu'on a tous les deux mal lu le post en anglais que tu as proposé plus haut. (En tous cas moi )
La dernière solution donnée est la bonne !

Si dans le fichier AssemblyInfo.cs on remplace la ligne
Code C# :
[assembly: AssemblyVersion("1.0.0.0")] (ou tout autre valeur)
par
Code C# :
[assembly: AssemblyVersion("1.0.*")]
Visual studio génère automatiquement une valeur qui est le relative au premier janvier 2000.

Il suffit d'utiliser le code donné sur ce post pour obtenir la date de compilation :
Code C# :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private DateTime DateCompiled()
{
 
// Assumes that in AssemblyInfo.cs,
// the version is specified as 1.0.* or the like,
// with only 2 numbers specified;
// the next two are generated from the date.
// This routine decodes them.
 
System.Version v =
System.Reflection.Assembly.GetExecutingAssembly(). GetName().Version;
 
// v.Build is days since Jan. 1, 2000
// v.Revision*2 is seconds since local midnight
// (NEVER daylight saving time)
 
DateTime t = new DateTime(
v.Build * TimeSpan.TicksPerDay +
v.Revision * TimeSpan.TicksPerSecond * 2
).AddYears(1999);
 
return t;
}

Voilà, pour ma part cette solution est satisfaisante...
NicolasJolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2012, 17h01   #10
 
Inscription : mai 2011
Messages : 219
Détails du profil
Informations personnelles :
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : mai 2011
Messages : 219
Points : -3
Points : -3
ok ,
ca ne marche pas du tout ;
Retourne 1/1/2000 0:0
yann458 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2012, 11h12   #11
Membre chevronné
 
Inscription : avril 2009
Messages : 560
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 560
Points : 713
Points : 713
Envoyer un message via MSN à sinople
Hello

A priori j'utiliserai les évenements de build pour gérer ce genre de chose.

http://msdn.microsoft.com/fr-fr/library/ke5z92ks.aspx

Après est-ce qu'il faut et comment modifier le n° de version, modifier la valeur d'une constante dans le code, modifier une valeur dans un fichier de ressource. Je ne peux pas t'aider plus.
sinople est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h47.


 
 
 
 
Partenaires

Hébergement Web