Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Comment : déterminer les versions .NET Framework installées

.NET Framework 4.5

Le .NET Framework se compose de deux composants principaux : un jeu d'assemblys, qui sont les collections de types et de ressources qui fournissent les fonctionnalités de vos applications, et le Common Language Runtime (CLR), qui gère et exécute le code de votre application. Les versions de ces deux composants sont gérées séparément. Le .NET Framework et les assemblys partagent le même numéro de version, et le CLR est identifié par son propre numéro de version (voir Versions et dépendances du .NET Framework). Vous pouvez installer et exécuter plusieurs versions du .NET Framework sur votre ordinateur. Pour connaître les versions du .NET Framework installées sur votre ordinateur, consultez les entrées correspondantes dans le Registre Windows. Pour déterminer quelle version du CLR exécute actuellement le code, vous pouvez utiliser la classe System.Environment.

Cet article fournit des instructions pour la détection manuelle et par programme des versions du .NET Framework sur un ordinateur, et pour la détection de la version du runtime à l'aide d'un outil et par programme. Pour plus d'informations sur la détection des mises à jour installées pour chaque version du .NET Framework, consultez Comment : déterminer les mises à jour .NET Framework installées. Pour plus d'informations sur l'installation du .NET Framework, consultez le guide d'installation.

Pour rechercher manuellement les versions installées du .NET Framework (versions 1 à 4)

  1. Dans le menu Démarrer, choisissez Exécuter.

  2. Dans la zone Ouvrir, entrez regedit.exe.

    Vous devez disposer d'informations d'identification d'administration pour exécuter regedit.exe.

  3. Dans l'Éditeur du Registre, ouvrez la sous-clé suivante :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

    Les versions installées sont répertoriées sous la sous-clé NDP. Le numéro de version est stocké dans l'entrée Version. Pour .NET Framework 4, l'entrée Version se trouve sous la sous-clé Client ou Full (sous NDP), ou sous les deux sous-clés.

    Remarque Remarque

    Le dossier d'installation « NET Framework Setup » dans le Registre ne commence pas par un point.

Pour rechercher manuellement les versions installées du .NET Framework (versions 4.5 et ultérieures)

  1. Dans le menu Démarrer, choisissez Exécuter.

  2. Dans la zone Ouvrir, entrez regedit.exe.

    Vous devez disposer d'informations d'identification d'administration pour exécuter regedit.exe.

  3. Dans l'Éditeur du Registre, ouvrez la sous-clé suivante :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

    Recherchez une valeur DWORD nommée Release. L'existence de la valeur DWORD Release indique que .NET Framework 4.5 ou une version plus récente a été installé sur cet ordinateur.

    L'entrée du registre du .NET Framework 4.5.

    La valeur du paramètre DWORD Release indique quelle version du .NET Framework est installée.

    Valeur du paramètre DWORD Release

    Version

    378389

    .NET Framework 4.5

    378675

    .NET Framework 4.5.1 installé avec Windows 8.1

    378758

    .NET Framework 4.5.1 installé sur Windows 8, Windows 7 SP1 ou Windows Vista SP2

Pour rechercher les versions installées du .NET Framework en interrogeant le Registre dans le code (versions 1 à 4)

  • Utilisez la classe Microsoft.Win32.RegistryKey pour accéder à la sous-clé Software\Microsoft\NET Framework Setup\NDP\ sous HKEY_LOCAL_MACHINE, dans le Registre Windows.

    Le code ci-dessous est un exemple de cette requête.

    Remarque Remarque

    Ce code ne montre pas comment détecter .NET Framework 4.5 ou version ultérieure. Examinez la valeur de DWORD Release pour détecter ces versions, comme décrit dans la section précédente.

    
    private static void GetVersionFromRegistry()
    {
        using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
            RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
        {
            foreach (string versionKeyName in ndpKey.GetSubKeyNames())
            {
                if (versionKeyName.StartsWith("v"))
                {
    
                    RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
                    string name = (string)versionKey.GetValue("Version", "");
                    string sp = versionKey.GetValue("SP", "").ToString();
                    string install = versionKey.GetValue("Install", "").ToString();
                    if (install == "") //no install info, must be later.
                        Console.WriteLine(versionKeyName + "  " + name);
                    else
                    {
                        if (sp != "" && install == "1")
                        {
                            Console.WriteLine(versionKeyName + "  " + name + "  SP" + sp);
                        }
    
                    }
                    if (name != "")
                    {
                        continue;
                    }
                    foreach (string subKeyName in versionKey.GetSubKeyNames())
                    {
                        RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
                        name = (string)subKey.GetValue("Version", "");
                        if (name != "")
                            sp = subKey.GetValue("SP", "").ToString();
                        install = subKey.GetValue("Install", "").ToString();
                        if (install == "") //no install info, must be later.
                            Console.WriteLine(versionKeyName + "  " + name);
                        else
                        {
                            if (sp != "" && install == "1")
                            {
                                Console.WriteLine("  " + subKeyName + "  " + name + "  SP" + sp);
                            }
                            else if (install == "1")
                            {
                                Console.WriteLine("  " + subKeyName + "  " + name);
                            }
    
                        }
    
                    }
    
                }
            }
        }
    
    }
    
    
    

    Cet exemple produit un résultat semblable au suivant :

    
    v2.0.50727  2.0.50727.4016  SP2
    v3.0  3.0.30729.4037  SP2
    v3.5  3.5.30729.01  SP1
    v4
      Client  4.0.30319
      Full  4.0.30319
    

Pour rechercher les versions installées du .NET Framework en interrogeant le Registre dans le code (versions 4.5 et ultérieures)

  1. Utilisez les méthodes OpenBaseKey et OpenSubKey de la classe Microsoft.Win32.RegistryKey pour accéder à la sous-clé Software\Microsoft\NET Framework Setup\NDP\v4.0\Full sous HKEY_LOCAL_MACHINE, dans le Registre Windows.

  2. Vérifiez la valeur du mot clé Release pour déterminer la version installée.

    Voici un exemple de cette requête :

    
    private static void Get45or451FromRegistry()
    {
        using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
           RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"))
        {
            int releaseKey = (int)ndpKey.GetValue("Release");
            {
                if (releaseKey == 378389)
    
                    Console.WriteLine("The .NET Framework version 4.5 is installed");
    
                if (releaseKey == 378758)
    
                    Console.WriteLine("The .NET Framework version 4.5.1  is installed");
    
            }
        }
    }
    
    
    

    Cet exemple produit un résultat semblable au suivant :

    The .NET Framework version 4.5.1 is installed
    

Pour rechercher la version actuelle du runtime à l'aide d'un outil

  • Utilisez l'outil de version CLR (Clrver.exe) pour déterminer quelles versions du CLR (Common Language Runtime) sont installées sur un ordinateur.

    Dans l'invite de commandes Visual Studio, entrez clrver. Cette commande produit un résultat similaire au suivant :

    Versions installed on the machine:
    v2.0.50727
    v4.0.30319
    

    Pour plus d'informations sur l'utilisation de cet outil, consultez Clrver.exe (outil CLR Version).

Pour rechercher la version actuelle du runtime en interrogeant la classe Environment dans le code

  • Interrogez la propriété Version de la classe Environment pour identifier la version du runtime qui exécute actuellement le code. Vous pouvez utiliser la propriété Version.Major pour obtenir l'identificateur de la version principale (par exemple, « 3 » pour la version 3.5), la propriété Version.Minor pour obtenir l'identificateur de la version secondaire (par exemple, « 5 » pour la version 3.5) ou la méthode Object.ToString pour obtenir la chaîne de version entière (par exemple, « 4.0.30319.18010 », comme indiqué dans le code suivant). Cette propriété retourne une valeur unique qui reflète la version du runtime exécutant actuellement le code. Elle ne retourne pas les versions d'assembly ou les autres versions du runtime qui ont pu être installées sur l'ordinateur.

    Voici un exemple illustrant l'interrogation de la propriété Environment.Version pour obtenir les informations de version du runtime :

    
    private static void GetVersionFromEnvironment()
    {
        Console.WriteLine("Version: " + Environment.Version.ToString());
    
    }
    
    
    

    Cet exemple produit un résultat semblable au suivant :

    Version: 4.0.30319.18010
    

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft