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

Les utilisateurs peuvent installer et exécuter plusieurs versions du .NET Framework sur leurs ordinateurs. Quand vous développez ou déployez votre application, vous pouvez avoir besoin de savoir quelles versions du .NET Framework sont installées sur l'ordinateur de l'utilisateur. Notez que le .NET Framework comporte deux principaux composants, dont les versions sont définies séparément :

  • Un jeu d'assemblys, qui correspondent aux collections de types et de ressources qui fournissent les fonctionnalités de vos applications. Le .NET Framework et les assemblys partagent le même numéro de version.

  • Le Common Language Runtime (CLR), qui gère et exécute le code de votre application. Le CLR est identifié par son propre numéro de version (voir Versions et dépendances du .NET Framework).

Pour obtenir la liste précise des versions du .NET Framework installées sur un ordinateur, vous pouvez consulter le Registre ou l'interroger en utilisant du code :

      Affichage du Registre (versions 1-4)
      Affichage du Registre (version 4.5 et ultérieure)
      Utilisation de code pour interroger le Registre (versions 1-4)
      Utilisation de code pour interroger le Registre (version 4.5 et ultérieure)

Pour rechercher la version CLR, vous pouvez utiliser un outil ou du code :

      Utilisation de l'outil Clrver
      Utilisation de code pour interroger la classe System.Environment

Pour plus d'informations sur la détection des mises à jour installées pour chaque version du .NET Framework, voir 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 déterminer les versions du .NET Framework en affichant le Registre (.NET Framework 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 déterminer les versions du .NET Framework en affichant le Registre (.NET Framework 4.5 et ultérieur)

  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

    Remarque Remarque

    Si la sous-clé Full n'est pas disponible, cela signifie que .NET Framework 4.5 ou version ultérieure n'est pas installé.

    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 ou Windows Server 2012 R2

    378758

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

    379893

    .NET Framework 4.5.2

    381029

    .NET Framework 4.6 RC

Pour déterminer les versions du .NET Framework en interrogeant le Registre à l'aide de code (.NET Framework 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.

    
    using System;
    using Microsoft.Win32;
    
    
    ...
    
    
    private static void GetVersionFromRegistry()
    {
         // Opens the registry key for the .NET Framework entry.
            using (RegistryKey ndpKey = 
                RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "").
                OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
            {
                // As an alternative, if you know the computers you will query are running .NET Framework 4.5 
                // or later, you can use:
                // 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 déterminer les versions du .NET Framework en interrogeant le Registre à l'aide de code (.NET Framework 4.5 et ultérieur)

  1. L'existence de la valeur DWORD Release indique que le .NET Framework 4.5 ou une version ultérieure a été installé sur un ordinateur. La valeur du mot clé indique la version installée. Pour vérifier ce mot clé, 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. Pour une compatibilité ascendante, vérifiez que votre valeur est supérieure ou égale à celles répertoriées dans le tableau ci-dessous. Voici les versions du .NET Framework et les mots clés Release associés.

    Version

    Valeur du paramètre DWORD Release

    .NET Framework 4.5

    378389

    .NET Framework 4.5.1 installé avec Windows 8.1

    378675

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

    378758

    .NET Framework 4.5.2

    379893

    .NET Framework 4.6 RC

    381029

    Voici un exemple de recherche d'une valeur supérieure ou égale aux valeurs de mot clé pour chacune des versions :

    
    using System;
    using Microsoft.Win32;
    
    
    ...
    
    
    private static void Get45or451FromRegistry()
    {
    	using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\")) {
    		int releaseKey = Convert.ToInt32(ndpKey.GetValue("Release"));
    		if (true) {
    			Console.WriteLine("Version: " + CheckFor45DotVersion(releaseKey));
    		}
    	}
    }
    
    
    ...
    
    
    // Checking the version using >= will enable forward compatibility, 
    // however you should always compile your code on newer versions of
    // the framework to ensure your app works the same.
    private static string CheckFor45DotVersion(int releaseKey)
    {
       if (releaseKey >= 393273) {
          return "4.6 RC or later";
       }
       if ((releaseKey >= 379893)) {
    		return "4.5.2 or later";
    	}
    	if ((releaseKey >= 378675)) {
    		return "4.5.1 or later";
    	}
    	if ((releaseKey >= 378389)) {
    		return "4.5 or later";
    	}
    	// This line should never execute. A non-null release key should mean
    	// that 4.5 or later is installed.
    	return "No 4.5 or later version detected";
    }
    
    
    

    Cet exemple produit un résultat semblable au suivant :

    Version: 4.5.1 or later
    

Pour déterminer la version actuelle du runtime à l'aide de l'outil Clrver

  • 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, voir 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, « 4 » pour la version 4,0), la propriété Version.Minor pour obtenir l'identificateur de la version secondaire (par exemple, « 0 » pour la version 4,0) 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 :

    
    using System;
    using Microsoft.Win32;
    
    
    ...
    
    
    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:
© 2015 Microsoft