Componentes principales del modelo de proyectoProject Model Core Components

Las siguientes tablas se expanden en el modelo de proyecto.The following tables expand on the project model. Las tablas ofrecen descripciones breves de las interfaces y los servicios identificados en el modelo y las interfaces y los servicios asociados a objetos específicos.The tables present brief descriptions of the interfaces and services identified in the model, and the interfaces and services associated with specific objects. Además, las tablas detallan otras interfaces que son opcionales en la creación del proyecto y el mantenimiento según los requisitos de su tipo de proyecto específico.Additionally, the tables detail other interfaces that are optional in project creation and maintenance depending on the requirements of your specific project type.

Para obtener más información, consulte herramientas de exploración de símbolos que admiten.For more information, see Supporting Symbol-Browsing Tools.

Objeto de paquetePackage object

InterfazInterface ComentariosComments
IVsPackage Inicializa un VSPackage en el IDE y hace que sus servicios estén disponibles en el IDE.Initializes a VSPackage in the IDE and makes its services available to the IDE.

Objeto de generador de proyectoProject Factory object

InterfazInterface ComentariosComments
IVsProjectFactory Administra la creación de nuevos proyectos y abrir proyectos existentes.Manages creating new projects and opening existing projects.

Objetos de proyectoProject objects

InterfacesInterfaces ComentariosComments
IVsProject3 Administra la adición y eliminación de elementos de proyecto, abre los editores y mantiene la asignación entre cada moniker del documento y el VSITEMID.Manages the addition and removal of project items, opens editors, and maintains mapping between each document moniker and the VSITEMID. Hereda de IVsProject y IVsProject2.Inherits from IVsProject and IVsProject2.
IVsHierarchy Administra las propiedades de navegación y la presentación y proporciona eventos.Manages navigation and display properties and provides events.
IVsUIHierarchy Habilita comando ejecución similar de IOleCommandTarget para comandos como cortar y cambie el nombre que se aplican solo cuando el foco está en el Explorador de soluciones.Enables command execution similar to that of IOleCommandTarget for commands such as Cut and Rename that apply only when the focus is in Solution Explorer.
IOleCommandTarget Sirve como la interfaz de destino del comando principal para una jerarquía de proyectos.Serves as the primary command target interface for a project hierarchy. Es la interfaz estándar para consultar objetos para los comandos de estado o estado y en ejecución del comando.It is the standard interface for querying objects for their command status or state and running commands. Está disponible cuando no se centra en la ventana del proyecto.Available when you are not focused in the Project window.
IPersistFileFormat Coordina la persistencia del estado del proyecto.Coordinates the persistence of the project state. Normalmente, el estado del proyecto se almacena como un archivo de proyecto, pero se puede adaptar a sistemas de almacenamiento que no están basados en archivos.Typically, the project state is stored as a project file but can be adapted to storage systems that are not file-based.
IVsPersistHierarchyItem2 Permite que el proyecto administrar todos los aspectos de la persistencia de sus elementos de proyecto, como archivos en disco o los objetos en otros sistemas de almacenamiento.Enables the project to manage all aspects of persistence for its project items, either as files on disk or objects in other storage systems. El IVsPersistHierarchyItem2 interfaz se utiliza para los elementos que no implementan la IVsPersistDocData2 interfaz.The IVsPersistHierarchyItem2 interface is used for items that do not implement the IVsPersistDocData2 interface.
IVsSccProject2 Coordina las interacciones con el control de código fuente.Coordinates interactions with source code control.
IVsProjectFlavorCfgProvider Permite a los proyectos administren información de configuración.Enables projects to manage configuration information.
IVsCfgProvider2 Administra los objetos de configuración de proyecto, como las configuraciones de depuración y lanzamiento.Manages project configuration objects, such as Debug/Release configurations. Crear, implementar y depurar las operaciones se coordina a través de los objetos de configuración del proyecto.Build, deploy, and debug operations are coordinated through project configuration objects.
IVsHierarchyDeleteHandler Implementado por jerarquías para controlar la eliminación (destrucción) o quitar (no destructiva) opciones para elementos de la jerarquía.Implemented by hierarchies to control the delete (destructive) or remove (non-destructive) options for hierarchy items. Llamar a la interfaz de consulta en el IVsHierarchyDeleteHandler interfaz desde el IVsHierarchy interfaz.Call Query Interface on the IVsHierarchyDeleteHandler interface from the IVsHierarchy interface.
IVsGetCfgProvider Proporciona la opción de implementación de tener el objeto que admite el IVsCfgProvider2 interfaz en una identidad de COM diferente del objeto de proyecto que implementa el IVsHierarchy interfaz.Provides the implementation option of having the object that supports the IVsCfgProvider2 interface on a different COM identity than the project object that implements the IVsHierarchy interface.
IVsProjectStartupServices Interfaz opcional implementada para hacer que su proyecto extensible por otros desarrolladores.Optional interface implemented to make your project extensible by other developers. El IVsProjectStartupServices interfaz permite que un VSPackage de otros fabricantes registrar un GUID que persisten en el archivo de proyecto para que cada vez que se carga el proyecto, cargar el GUID del servicio de terceros en el archivo de proyecto y llame a QueryService para ese GUID.The IVsProjectStartupServices interface enables a third-party VSPackage to register a GUID that you persist into your project file so that every time your project loads, you load the third-party service GUID into your project file and call QueryService for that GUID.
IVsUIHierWinClipboardHelperEvents Implementado por jerarquías de origen en un UIHierarchy ventana para coordinar las operaciones del Portapapeles como cortar, copiar y pegar.Implemented by source hierarchies in a UIHierarchy window to coordinate clipboard operations such as cut, copy, and paste. Use el AdviseClipboardHelperEvents interfaz para registrar los eventos del Portapapeles.Use the AdviseClipboardHelperEvents interface to register clipboard events.
IVsHierarchyDropDataSource2 Proporciona información sobre un elemento arrastrado en relación con su origen de datos durante una operación de arrastrar y colocar en una ventana de jerarquía de la interfaz de usuario.Provides information about a dragged item relative to its data source during a drag-and-drop operation in a UI hierarchy window. Se llama desde el IVsHierarchy interfaz.Called from the IVsHierarchy interface.
IVsHierarchyDropDataTarget Proporciona información sobre un elemento arrastrado en relación con su destino de colocación durante una operación de arrastrar y colocar en una ventana de jerarquía de la interfaz de usuario.Provides information about a dragged item relative to its drop target during a drag-and-drop operation in a UI hierarchy window. Se llama desde el IVsHierarchy interfaz.Called from the IVsHierarchy interface.

Objeto de configuraciónConfiguration object

InterfacesInterfaces ComentariosComments
IVsCfg Proporciona información acerca de una configuración.Provides information about a configuration.
IVsProjectCfg2 Permite a los proyectos administren información de configuración.Enables projects to manage configuration information.
IVsDebuggableProjectCfg Habilita a un proyecto para ejecutarse bajo el control del depurador.Enables a project to be run under the control of the debugger.
IVsDeployableProjectCfg Implementado por proyectos de implementación que realizan operaciones de implementación para otros proyectos.Implemented by deployment projects that perform deployment operations for other projects.

Objeto de generador de configuraciónConfiguration Builder object

InterfacesInterfaces ComentariosComments
IVsBuildableProjectCfg Administra la operación de compilación de una configuración del proyecto.Manages a project configuration's build operation.

Objetos de proyecto adicionalesAdditional Project objects

InterfacesInterfaces ComentariosComments
IDispatch

ISpecifyPropertyPages
Muestra elementos de propiedades en el propiedades ventana.Displays item properties in the Properties window.
IVsOutput2

IVsEnumOutputs
Muestra las salidas para la implementación.Displays outputs for deployment.

En la tabla siguiente presenta breves descripciones de los servicios identificados en el modelo de proyecto.The following table presents brief descriptions of the services identified in the project model.

ServiciosServices

web de OfficeService ComentariosComments
SVsRegisterProjectTypes Lo usan los VSPackages que implementan los tipos de proyecto para registrar que existe su generador de proyectos con el IDE.Used by VSPackages that implement project types to register that their project factory exists with the IDE. El VSPackage debe llamar a QueryService para este servicio y registre su generador de proyectos cuando IVsPackage::SetSite se llama al método.Your VSPackage must call QueryService for this service and register its project factory when IVsPackage::SetSite method is called. Si el SetSite no se llama al método, no se crea una instancia de su proyecto.If the SetSite method is not called, your project is not instantiated.
SVsSolution Proporciona acceso a la noción interno, integrado del IDE de la solución actual, como la capacidad de enumerar los proyectos, crear nuevos proyectos, tenga en cuenta los cambios del proyecto y así sucesivamente.Provides access to the IDE's internal, built-in notion of the current solution, such as the ability to enumerate projects, create new projects, take notice of project changes, and so on.
SVsSccManager Lo llaman los proyectos que deseen participar en el control de código fuente.Called by projects that wish to participate in source control.
SVsRunningDocumentTable Mantiene una tabla de documentos abiertos para determinar si uno o varios de los elementos de proyecto ya están abiertos.Maintains a table of open documents to determine whether one or more of your project items are already opened.
SVsUIShellOpenDocument Contiene las interfaces y métodos que se llama para abrir un elemento de proyecto mediante el editor estándar o un editor específico.Contains the interfaces and methods called to actually open a project item using the standard editor or a specific editor.
SVsTrackProjectDocuments Se requiere para ser llamado por todos los proyectos al que agregar, quitar o cambiar el nombre de sus elementos.Required to be called by all projects when they add, remove or rename their items.
SVsFileChangeEx Administra los cambios realizados en un archivo o directorio y notifica a los clientes cuando se han cambiado los archivos seleccionados en el disco.Manages changes to a file or directory and notifies clients when selected files have been changed on disk.
SVsQueryEditQuerySave Se requiere para ser llamado por todos los proyectos y editores antes de integridad de los elementos o se guardan.Required to be called by all projects and editors before they dirty items or save them.
SVsSolutionBuildManager Administra el orden de las operaciones de compilación e implementación de configuraciones de proyecto.Manages the order of build and deployment operations for project configurations.
SVsShellDebugger Proporciona acceso a servicios de depurador de bajo nivel que se usan para la mayoría de los controles de depuración.Provides access to low-level debugger services used for most debugging controls.
SVsShellMonitorSelection Habilita el acceso de los paquetes VSPackage para obtener información acerca de las selecciones actuales y permite la comunicación con el propiedades ventana.Enables VSPackages access to information about current selections and enables communication with the Properties window.
SVsUIShell Proporciona funcionalidad básica de IDE relacionadas con la interfaz de usuario, como la capacidad para crear y enumerar las ventanas de herramientas o ventanas de documento o para notificar un error al usuario.Provides basic UI-related IDE functionality, such as the ability to create and enumerate tool windows or document windows or to report an error to the user.
SVsStatusbar Proporciona acceso a la barra de estado del IDE.Provides access to the IDE's status bar.
IVsExtensibility3 Se utiliza para implementar el modelo de automatización.Used to implement the automation model. En el modelo de proyecto, devolverá un objeto de propiedades que le permita crea una instancia de ese objeto.In your project model, you will return a properties object that lets you creates an instance of that object.
SVsUIHierWinClipboardHelper Se utiliza para implementar eventos de Portapapeles en el objeto de proyecto en la jerarquía.Used to implement clipboard events on the project object in the hierarchy. SVsUIHierWinClipboardHelper le permite correctamente identificador operaciones de cortar, copiar y pegar.SVsUIHierWinClipboardHelper lets you correctly handle cut, copy, and paste operations.

Vea tambiénSee Also

IOleCommandTarget
Lista de comprobación: Creación de nuevos tipos de proyecto Checklist: Creating New Project Types
En la compilación: usar las clases de proyecto de HierUtil7 para implementar un tipo de proyecto (C++) Not in Build: Using HierUtil7 Project Classes to Implement a Project Type (C++)
Herramientas de exploración de símbolos de compatibilidad Supporting Symbol-Browsing Tools
Elementos de un modelo de proyectoElements of a Project Model