Componentes principales del proyecto de modeloProject 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 admitir símbolo.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 para el IDE.Initializes a VSPackage in the IDE and makes its services available to the IDE.

Objeto de generador de proyectosProject 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, se abre 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 el comando ejecución similar de IOleCommandTarget para comandos como cortar y cambiar 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 Actúa 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 sus comandos de estado o el estado y la 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 puede adaptarse 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 persistencia para los 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 IVsPeristHierarchyItem2 interfaz se utiliza para los elementos que no implementan la IVsPersistDocData2 interfaz.The IVsPeristHierarchyItem2 interface is used for items that do not implement the IVsPersistDocData2 interface.
IVsSccProject2 Coordina las interacciones con control de código fuente.Coordinates interactions with source code control.
IVsProjectFlavorCfgProvider Permite administrar la información de configuración de los proyectos.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. Generar, implementar y depurar las operaciones son coordinadas a través de objetos de configuración de proyecto.Build, deploy, and debug operations are coordinated through project configuration objects.
IVsHierarchyDeleteHandler Implementa las jerarquías para controlar la eliminación (destructiva) o quitar opciones (no destructiva) para los 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 de la interfaz de la 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 la IVsCfgProvider2 interfaz en una identidad de COM diferente que el 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 que se implementan para hacer que el proyecto extensible por otros desarrolladores.Optional interface implemented to make your project extensible by other developers. El IVsProjectStartupServices interfaz permite que un VSPackage de terceros registrar un GUID que se mantendrán en el archivo de proyecto para que cada vez que se cargue el proyecto, cargar el servicio de terceros GUID 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 en las 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 la AdviseClipboardHelperEvents interfaz para registrar 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 la jerarquía de 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. Llamar desde el IVsHierarchy interfaz.Called from the IVsHierarchy interface.
IVsHierarchyDropDataTarget Proporciona información sobre un elemento arrastrado con respecto a su destino de colocación durante una operación de arrastrar y colocar en una ventana de la jerarquía de 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. Llamar 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 administrar la información de configuración de los proyectos.Enables projects to manage configuration information.
IVsDebuggableProjectCfg Permite a un proyecto para ejecutarse bajo el control del depurador.Enables a project to be run under the control of the debugger.
IVsDeployableProjectCfg Implementa los 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 generació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 de elemento de propiedades en el propiedades ventana.Displays item properties in the Properties window.
IVsOutput2

IVsEnumOutputs
Salidas de muestra 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 Usar VSPackages que implementan tipos de proyecto para registrar que el generador de proyectos existe 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 registrar la fábrica de su proyecto 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 a 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 para enumerar los proyectos, crear nuevos proyectos, tomar nota de los cambios en el 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 Llamado por los proyectos que desean 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 sus 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 utilizados para un elemento de proyecto con el editor estándar o un editor concreto en realidad podemos abrir.Contains the interfaces and methods called to actually open a project item using the standard editor or a specific editor.
SVsTrackProjectDocuments Debe llamarse en 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 si los archivos seleccionados se han cambiado 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 desfasadas elementos o guardarlos.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 para las configuraciones de proyecto.Manages the order of build and deployment operations for project configurations.
SVsShellDebugger Proporciona acceso a los servicios de bajo nivel depurador utilizados para la mayoría de los controles depuración.Provides access to low-level debugger services used for most debugging controls.
SVsShellMonitorSelection Permite el acceso de VSPackages 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 las 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 permite 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 los eventos de Portapapeles en el objeto de proyecto de la jerarquía.Used to implement clipboard events on the project object in the hierarchy. SVsUIHierWinClipboardHelper 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
No en la compilación: usar clases de proyectos de HierUtil7 para implementar un tipo de proyecto (C++) Not in Build: Using HierUtil7 Project Classes to Implement a Project Type (C++)
Compatibilidad con herramientas de exploración de símbolos Supporting Symbol-Browsing Tools
Elementos de un modelo de proyectoElements of a Project Model