6

MSDN Extensibility Platfrom DescriptionVS extensibilidad Arquitectura (API Paquete/Biblioteca Visual Studio)

Recientemente me encontré con lo anterior aparezca Tabla Visual Studio Plataforma extensibilidad de Microsoft.

La mayoría de las cosas están claras para mí. Sin embargo, me pregunto sobre el paquete API y el VSL (Visual Studio Library).

Traté de encontrar más, pero no pude encontrar ninguna información.

Cosas que no entiendo del todo:
- ¿Qué es exactamente el paquete API?
- ¿Qué es exactamente el VSL?
- ¿Cuál es la relación entre InteropAssemblies/VSL y Package API? ¿Los InteropAssemblies envuelven el acceso a la API del paquete?
- ¿Por qué debería uno usar el VSL al implementar un paquete nativo? ¿Cuales son los beneficios?

¿Alguien tiene más información sobre estos temas o alguien conoce algunos recursos?

Respuesta

2

La "API de paquete" es el conjunto de interfaces COM expuestas en el SDK de Visual Studio. Estas son las interfaces de extensibilidad sin formato para el shell de Visual Studio. Casi todas las interfaces comienzan con 'IVs' (por ejemplo, IVsShell, IVsHierarchy, IVsSolution, etc.). Si tiene instalado el SDK de Visual Studio 2010, eche un vistazo al contenido de% SDKInstall% \ VisualStudioIntegration \ Common \ IDL para mas detalle.

Puede pensar en VSL como un marco inspirado en ATL para crear paquetes nativos de Visual Studio. Si crea un paquete de Visual Studio de C++ a partir de la plantilla incluida, la salida utilizará VSL. La ventaja de esto es que minimiza la cantidad de código de "fontanería" que necesita escribir para una característica determinada (por ejemplo, agregar una nueva ventana de herramientas).

Los conjuntos Interop son para la interoperabilidad .NET/COM. Proporcionan las firmas de método correctas y la estructura del código administrado (C#/VB/F #) para llamar al API del paquete.

El Visual Studio Extensibility center on MSDN es un buen lugar para comenzar a buscar más enlaces a documentación, blogs, artículos, etc ... que deberían ser de ayuda.

Cuestiones relacionadas