De registre.LocalMachine.OpenSubKey() renvoie la valeur null
- Je obtenir une valeur null en retour de cette tentative d'accès à la base de Registre Windows:
using (RegistryKey registry = Registry.LocalMachine.OpenSubKey(keyPath))
chemin d'accès clé est SOFTWARE\\TestKey
La clé est dans le registre, alors pourquoi ne pas la trouver dans les Locaux de la Machine de la ruche?
- Êtes-vous correctement échapper chemin d'accès clé? Est-il "SOFTWARE\\TestKey", et pas "SOFTWARE\TestKey"?
- oui, je l'ai posté mal. C'est en fait le programme d'installation pour utiliser \\
- Donc, cela a fonctionné sur mon PC du patron à l'amende juste. Aucune raison pourquoi il ne devrait pas ici. J'ai donné asp.net l'accès au compte à elle depuis que je suis l'exécution du VS serveur web et renvoie toujours null.
Vous devez vous connecter pour publier un commentaire.
Dans votre commentaire Dana vous avez dit que vous avez donné à l'ASP.NET l'accès au compte. Cependant, avez-vous vérifier que c'est le compte que le site en cours d'exécution en vertu de l'? Usurper l'identité et de l'anonyme d'accès de l'utilisateur peut être facile d'oublier.
CODE NON TESTÉ:
Cela peut arriver si vous êtes sur une machine 64 bits. Créer un assistant de la classe de première (nécessite .NET 4.0 ou version ultérieure):
Utilisation:
If you request a 64-bit view on a 32-bit operating system, the returned keys will be in the 32-bit view.
Juste besoin de changer de
à
(Utiliser
RegistryKey
au lieu deRegistry
, ajouter leRegistryView
, et de mettre de la ruche-la Machine Locale comme un paramètre d'une méthode.)