Compartir a través de


Solución de problemas con VSPackages

              Aplicable a: Visual Studio

En este artículo se presentan problemas comunes y sugerencias de solución de problemas con los VSPackages.

Un VSPackage evita 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 carga ningún VSPackage 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 el VSPackage para ejecutarse, normalmente la raíz del Registro experimental. Para obtener más información, consulte La instancia experimental.

  • Si el 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 /rootsuffix exp.

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

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

    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 obtener más información, vea 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 es de confianza o es de confianza parcial, 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 es visible o genera un error cuando se selecciona

Para solucionar este problema, pruebe los pasos siguientes:

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

  • Asegúrese de que Visual Studio puede encontrar UI.dll para el 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 de forma inesperada

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 los 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 línea de comandos , escriba el sufijo raíz del entorno de desarrollo al que se dirige el 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 va a depurar un proyecto, cree o cargue una instancia existente del proyecto ahora.

  • Use el registro de actividad.

    Siga el comportamiento de VSPackage escribiendo información en el registro de actividad en los puntos clave. Esta técnica es especialmente útil cuando se ejecuta un VSPackage en un entorno comercial. Para obtener más información, vea 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. Agregar ubicación del archivo de símbolos (.pdb): https://msdl.microsoft.com/download/symbols.
    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 en el 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 Explorador 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 registros 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 tiene la ruta de acceso correcta del archivo DLL de VSPackage.

Referencias