Connaître la version du framework d'un projet

pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 - 16 déc. 2008 à 09:54
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 - 5 févr. 2010 à 02:18
Bonjour à tous,

voici ma question : connaissant déjà "Environment.Version" qui me retourne la version du framework installé sur la machine, existe-t-il une fonction qui permet de savoir sous quel framework .NET une application a été développée
 
Merci pour votre aide et vos réponse.

pseudoOM

Le partage est une force alors n'hésitez pas à cliquer sur réponse acceptée pour partager les solutions trouvées !

7 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
16 déc. 2008 à 11:54
Bonjour,

Normalement c'est la même, car si c'est différent, tu ne peux pas lancer ton appli.

http://nhen0039.chez-alice.fr/index.php
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
16 déc. 2008 à 14:03
Oui je me doutais bien de la réponse.
Je vais donc essayer de trouver comment connaitre la version de VB du projet et faire un test. Si c'est du 2003 alors c'est un FW 1.1, si c'est c'est 2005 alors c'est un FW 2.0, et si c'est du 2008 alors c'est un FW 3.5.
Comment faire je ne sais pas mais je suppose que je vais trouver.

Merci

pseudoOM

Le partage est une force alors n'hésitez pas à cliquer sur réponse acceptée pour partager les solutions trouvées !
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
16 déc. 2008 à 18:51
Salut,

Voici une fonction pour récupérer toutes les versions de Framework installées sur un ordinateur :


<hr size="2" width="100%" />
Note 1 : Il faut passer en paramètre une collection de type String déclaré par exemple comme ceci :




       Dim VersionFramework As New System.Collections.Generic.List(Of String)

Note 2 : En utilisant ByRef dans la fonction, celle-ci peut accéder et modifier le contenu de la collection
         VersionFramework passé en paramètre.

         Ainsi, après l'appel de la fonction, la collection VersionFramework contiendra toutes les versions
         installées sur l'ordinateur.



<hr size="2" width="100%" />






Sub Framework_installe(ByRef Tab_Framework As System.Collections.Generic.List(Of String))

     Dim Di1 As New IO.DirectoryInfo(Environment.SystemDirectory)

     For Each Folder As String In My.Computer.FileSystem.GetDirectories(Di1.Parent.FullName + "/Microsoft.NET/Framework/")
          Dim Di2 As New IO.DirectoryInfo(Folder)

          If Di2.Name.Contains("v") And Di2.Name.Contains(".") Then
               If IsNumeric(Di2.Name.Replace(".", String.Empty).Replace("v", String.Empty)) = True Then
                    Tab_Framework.Add(Di2.Name)
               End If
          End If
     Next
End Sub







<hr size="2" width="100%" />
Note : Si tu as d'autres questions en rapport avec ce sujet, n'hésites pas

++

Fauve


<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
17 déc. 2008 à 09:25
Merci Fauve c'est bien gentil et je prends note.

Mais cela ne résous pas mon problème. En fait je vais expliquer ma démarche.
Je dois faire une classe qui va retourner des infos sur la machine et le programme qui tourne. Ce que je voudrais faire c'est une fonction qui va me retourner la version du framework avec lequel l'application a été développée.
Tu me dira si je fais un setup clickonce je peux dire d'ajouter le framework dans le setup.
Bon ok mais on sait aussi que l'on peut "installer" un programme en copier-coller avec dot net. Cependant il faut que le bon framework soit déjà installé pour que cela fonctionne.
Imaginons que c'est fait sur une machine et pas sur l'autre. Et bien en lancant mon application et en allant demander à la classe : "quel est ma version de framework ?" elle va me retourner FW2.0 par exemple et je saurai que sur l'autre machine je dois installer un 2.0 pour que mon exe tourne correctement.
Parce qu'en fait, moi comme développeur je sais que je l'ai fait en VB2005 et qu'il faut un 2.0 mais mon client ne le sait peut être pas et pourra donc le savoir. De plus ce serait une classe réutilisable pour mes autres projets.

J'espère que tu comprends mieux ce que je dois faire et merci pour ton aide ainsi que celle de NHenry.
 

pseudoOM

Le partage est une force alors n'hésitez pas à cliquer sur réponse acceptée pour partager les solutions trouvées !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
17 déc. 2008 à 11:01
Salut,

Si tu souhaites obtenir la version du framework utilisé par ton projet voici comment :

Environment.Version.ToString

Te retourne le numéro de version complète du Framework

++

Fauve
<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0
pseudoOM Messages postés 173 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 30 janvier 2009 1
17 déc. 2008 à 15:50
Oui je connais mais ça ne me retourne pas la version du framework du projet. Je développe sous VB2008 et quand je mets ce bout de code et je lance mon application j'obtiens '2.0.50727.3053' au lieu du 3.0 ou du 3.5 !
Je me dis donc que ce n'est pas encore la solution.
Caramba encore raté !

pseudoOM

Le partage est une force alors n'hésitez pas à cliquer sur réponse acceptée pour partager les solutions trouvées !
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
5 févr. 2010 à 02:18
Merci Fauve pour cette source qui me permet de connaitre toutes les versions d'installées sur un PC

Exactement ce que je cherchais

La version retournée (2.0.50727.3603) par la variable d'environnement étant vraiment insuffisante puisque j'ai d'installé le framework 3.5



bidouille007
0
Rejoignez-nous