Compartir a través de


Solución de problemas con VSPackages

Se aplica a: Visual Studio

En este artículo se presentan problemas comunes y sugerencias para solucionar problemas con vsPackages.

Un VSPackage impide que Visual Studio se inicie

En este escenario, inicie Visual Studio en modo seguro escribiendo devenv.exe /safemode en un símbolo del sistema. Durante este proceso, no se cargan VSPackages excepto los VSPackages que se incluyen con Visual Studio.

No se carga un VSPackage

Para solucionar este problema, pruebe uno o varios de los pasos siguientes:

  • Asegúrese de que usa la raíz del Registro en la que se registra VSPackage para ejecutarse, normalmente la raíz del registro experimental. Para obtener más información, vea La instancia experimental.

  • Si VSPackage está destinado a ejecutarse en la raíz del Registro experimental, asegúrese de que está ejecutando la versión experimental de Visual Studio.

    Para ejecutar la versión experimental, abra un símbolo del sistema de Visual Studio y escriba devenv /rootuffix exp.

  • Compruebe las entradas del Registro de VSPackage. Para obtener más información, consulte Registro de VSPackages y Administración de VSPackages.

  • Abra la ventana Salida de la instancia de Visual Studio que no puede cargar VSPackage. Puede aparecer información sobre por qué VSPackage no se puede cargar en esa ventana.

    Nota:

    Si va a iniciar la versión experimental de Visual Studio desde el entorno de desarrollo integrado (IDE) de Visual Studio, inspeccione la ventana Salida de ambas versiones.

  • Examine el registro de actividad. Para más información, consulte Cómo: Usar el registro de actividad.

  • Para obtener más información sobre las excepciones producidas por el IDE, seleccione Excepciones en el menú Depurar para habilitar las excepciones. En el cuadro de diálogo Excepciones, seleccione los tipos de excepciones sobre los que desea obtener más información.

Un VSPackage no está registrado

Asegúrese de que el ensamblado VSPackage reside en una ubicación de confianza. RegPkg no puede registrar ensamblados en una ubicación que no sea de confianza o parcialmente de confianza, como un recurso compartido de red en la configuración de seguridad predeterminada de .NET. Aunque aparece una advertencia cada vez que un usuario crea un proyecto en una ubicación que no es de confianza, la casilla No volver a mostrar este mensaje puede impedir que esta advertencia se repita.

Un comando no está visible o genera un error cuando está seleccionado

Para resolver este problema, pruebe los pasos siguientes:

  • Combine los comandos de menú nuevos o modificados y esos comandos ya están en el IDE escribiendo devenv /rootuffix Exp /setup en el símbolo del sistema de Visual Studio.

  • Asegúrese de que Visual Studio puede encontrar UI.dll para VSPackage.

    1. Busque el CLSID de VSPackage en la sección Paquetes del Registro:

      HKLM\Software\Microsoft\Visual Studio\<version>\Packages

    2. Compruebe que la ruta de acceso proporcionada por la subclave SatelliteDll es correcta.

Un VSPackage se comporta inesperadamente

Para solucionar este problema, pruebe uno o varios de los pasos siguientes:

  • Establezca puntos de interrupción en el código.

    Los buenos puntos de partida para la depuración son el constructor y el método de inicialización. También puede establecer puntos de interrupción en el área que desea evaluar, como un comando de menú. Para habilitar puntos de interrupción, debe ejecutarse en el depurador.

    1. En el menú Proyecto, seleccione Propiedades.

    2. En el cuadro de diálogo Páginas de propiedades , seleccione la pestaña Depurar .

    3. En el cuadro Argumentos de la línea de comandos, escriba el sufijo raíz del entorno de desarrollo que tiene como destino VSPackage. Por ejemplo, para seleccionar la compilación experimental, escriba: /RootSuffix Exp.

    4. En el menú Depurar , seleccione Iniciar depuración o presione F5.

      Nota:

      Si está depurando un proyecto, cree o cargue una instancia existente del proyecto ahora.

  • Use el registro de actividad.

    Seguimiento del comportamiento de VSPackage escribiendo información en el registro de actividad en puntos clave. Esta técnica es especialmente útil cuando se ejecuta un VSPackage en un entorno comercial. Para más información, consulte Cómo: Usar el registro de actividad.

  • Use símbolos públicos.

    Para mejorar la legibilidad durante la depuración, puede adjuntar símbolos al depurador:

    1. En el menú Herramientas/Opciones , vaya al cuadro de diálogo Depuración/Símbolos .
    2. Agregue la ubicaciónhttps://msdl.microsoft.com/download/symbols del archivo de símbolos (.pdb): .
    3. Para mejorar el rendimiento, especifique una carpeta de caché de símbolos, por ejemplo: C:\symbols.

Falta UN VSPackage o una de sus dependencias

  • En el caso del código administrado, asegúrese de que las rutas de acceso de referencia son correctas.

    1. En el menú Proyecto, seleccione Propiedades.

    2. Seleccione la pestaña Referencias del cuadro de diálogo Páginas de propiedades y asegúrese de que todas las rutas de acceso son correctas. Como alternativa, puede usar el Examinador de objetos para buscar los objetos a los que se hace referencia.

      En el caso del código administrado, puede usar el Fuslogvw.exe (Visor de registro de enlace de ensamblados) para mostrar los detalles de las cargas de ensamblado con errores.

  • Para el código no administrado, busque el CLSID del VSPackage en el nodo del registro CLSID de Visual Studio:

    HKLM\Software\Microsoft\Visual Studio\<version>\CLSID

    Asegúrese de que la entrada InprocServer32 tenga la ruta de acceso correcta del archivo DLL de VSPackage.

Referencias