Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

185
Views
Acceda a la sección de registro privada de Visual Studio 2017

Visual Studio usa una sección de registro privada en lugar de "contaminar" el registro del sistema, que normalmente se encuentra en algún lugar como este:

C:\Users\Abx\AppData\Local\Microsoft\VisualStudio\15.0_4b0ba1c0\privateregistry.bin

[Para determinar las extensiones instaladas, debemos mirar la siguiente clave: Software\Microsoft\VisualStudio\15.0_4b0ba1c0\ExtensionManager\EnabledExtensions ]

¿Cuál es la forma más sencilla de cargar y acceder a este archivo por clave en C#?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Para revisar manualmente, puede usar la aplicación regedit.exe para cargar el archivo privateregistry.bin haciendo lo siguiente:

  1. Inicie RegEdit.exe
  2. Seleccione el nodo Computer\HKEY_LOCAL_MACHINE en el panel de la izquierda
  3. Seleccione el archivo | Cargue el elemento de menú Hive... y cargue el archivo privateregistry.bin
  4. Cuando se le solicite un nombre de clave, simplemente escriba algo como "VSRegHive"
  5. Esto cargará los datos en un VSRegHive bajo el nodo HKLM
  6. Cuando termine de explorar, asegúrese de seleccionar VSRegHive y seleccione Archivo | Descargue Hive... , antes de salir de la utilidad RegEdit.exe; de lo contrario, VS no podrá iniciarse. Mantener la colmena cargada en regedit crea algún tipo de bloqueo que evita que DevEnv.exe se inicie.

Acceder mediante programación a la clave RegLoadAppKey es, de hecho, su mejor apuesta.

over 4 years ago · Santiago Trujillo Report

0

Acabo de tener un problema similar y encontré esta publicación SO. En mi experiencia, debe usar la configuración x86 para su proyecto o, de lo contrario, encontrará una excepción. He adaptado el código a tu problema.

 ExternalSettingsManager ext = ExternalSettingsManager.CreateForApplication(@"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe"); SettingsStore store = ext.GetReadOnlySettingsStore(SettingsScope.UserSettings); var propNames = store.GetPropertyNames(@"ExtensionManager\EnabledExtensions"); store.GetString(...)

Además del método anterior, parece posible usar los métodos .Net "normales" para acceder al registro después de llamar a "CreateForApplication". Solo usa algo como esto:

 Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\VisualStudio\15.0\ExtensionManager\EnabledExtensions")
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!