We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Microsoft.VisualStudio.Data.Schema.Package.Project Namespace

Visual Studio 2010

This namespace contains classes and interfaces that let you extend database projects. You might use some of the classes and interfaces to create your own database schema provider. Other classes and interfaces might be of use if you were extending the capabilities of the existing database projects.

Public classBuildActionChangeEventArgsProvides data when the build action for a project item has changed.
Public classBuildMacroRequestEventArgsProvides data for the BuildMacroRequest event.
Public classCanDeleteRequestEventArgsProvides data and control to features that can override the ability to delete a node from Solution Explorer.
Public classCanEditRequestEventArgsProvides data and control to features that can override the ability to edit the caption of a node from Solution Explorer.
Public classCatalogOrServerPropertyChangedEventArgsProvides data to the CatalogOrServerPropertyChanged event. This event is raised whenever the catalog or server properties are changed.
Public classConfigurationAddedEventArgsProvides data for configuration added events.
Public classCreateFileNodesRequestThis is a request object that is used by IDatabaseProjectNode.CreateFileNodes(IList<AddFileRequest>) .
Public classDatabaseProjectAddItemDialogContextWhen the Add New Item dialog box is displayed, this context object is available from the IDatabaseProjectNode. Any IDatabaseProjectFeature instances that implement IDatabaseProjectAddNewItemParticipant use this object to add creation strings as an input to the template wizard.
Public classDatabaseProjectAddItemDialogHelperThis singleton is used to capture the state of the Add New Item dialog box. This is how features can preserve information when the Add New Item dialog box is invoked.
Public classDatabaseProjectBuildActionConverterUsed to convert between the two built-in actions ("Build" and "NotInBuild"), and also between any build actions provided by the database schema provider extensions. Because this is a type converter, you must combine all project types from all database schema providers. Therefore, if one provider adds a build action, all providers receive it, even though it is not available from the project-level DatabaseProjectBuildActionHelper object.
Public classDatabaseProjectBuildActionHelperUsed to help features with the build action of the database project. Note that build actions can be expanded from their usual Build and NotInBuild values by implementing IDatabaseProjectBuildActionContributor .
Public classDatabaseProjectConfigThis class and its members are reserved for internal use and are not intended to be used in your code. This class is used for configuration-specific properties. The DatabaseProjectNode is used for configuration-independent properties.
Public classDatabaseProjectConfigurationExtenderDerives from this class to create extenders for database project configurations.
Public classDatabaseProjectExtenderBaseThis is the base class for all extenders (both node extenders and configuration extenders).
Public classDatabaseProjectExtenderCategoriesDefines the category identifiers to extend database project nodes.
Public classDatabaseProjectFileManagerServiceThis represents the file manager extensibility feature for the project system.
Public classDatabaseProjectNodeExtenderDerives from this class to create extenders for database nodes. This class must be ComVisible and public because it is used in the Visual Studio property window.
Public classDatabaseProjectPersistenceExceptionException thrown by the support objects for MSBuild persistence.
Public classDatabaseProjectPropertySetFailedExceptionThis exception could be thrown when you implement project property pages if the underlying property could not be set. This could occur either because the project file could not be checked out or because the property value was not valid.
Public classDatabaseProjectReferenceSelectorDataUsed by IDatabaseProjectFeature instances that implement IDatabaseProjectReferenceController to return details about which references must be created in the project system. The project feature displays a dialog box that allows the user to select the reference type and then package that information in this object.
Public classDatabaseProjectSolutionExplorerAddItemDialogContextProvides context to the Add New Item dialog box.
Public classDatabaseProjectUpgradeExceptionThis exception is thrown when a project does not upgrade.
Public classDatabasePropertyPageControlDataContains information for every property on a project property page.
Public classDatabasePropertyPageDefinitionProvides property page definitions to the extensibility point.
Public classDatabasePropertyPageUserControlBaseProvides a base class for any project property pages. Any IDatabaseProjectFeature that implements IDatabaseProjectPropertyPageContributor can then return instances to add to the project properties.
Public classDragDropOrCopyPasteContextProvides context for what occurred during a copy-and-paste operation or during a drag-and-drop operation.
Public classDragDropOrCopyPasteEventArgsProvides data that is used after a drag and drop operation or a copy and paste operation has occurred.
Public classExcludeFromProjectEventArgsProvides data for the file exclude event that comes from Solution Explorer.
Public classFileIconRequestEventArgsProvides data that is used when the core project system encounters a new file name extension and requires an icon for Solution Explorer.
Public classIncludeInProjectEventArgsProvides data for the NodeIncludedInProject event that comes from Solution Explorer.
Public classIsCodeFileRequestEventArgsProvides data to an IsCodeFile event from the project system.
Public classNewProjectEventArgsProvides data for the NewProjectCreated event.
Public classNodeAddedEventArgsProvides data to the DatabaseNodeAdded event that is raised when a node is added to Solution Explorer.
Public classNodeAttributesChangedEventArgsProvides data for the NodeAttributesChanged event.
Public classNodeDeletedEventArgsProvides data to the DatabaseNodeDeleted event that is raised when a node is deleted from Solution Explorer.
Public classNodeRenamedEventArgsProvides data to the DatabaseNodeRenamed event.
Public classProjectClosedEventArgsProvides data for the ProjectClosed event.
Public classProjectEventArgsProvides data to several project events and acts as a base class for other event argument classes that are raised from the project system.
Public classProjectLoadedEventArgsProvides data to the ProjectLoaded event. That event is raised when the project has completed deserialization (which occurs on the nonuser interface thread).
Public classProjectOpenedEventArgsProvides data to the ProjectOpened event.
Public classProjectOpeningEventArgsProvides data for the ProjectOpening event.
Public classPropertyChangedEventArgsProvides data to the ProjectPropertyChanged event. This event is raised whenever the configuration or project properties have changed.
Public classPropertyChangingEventArgsProvides data to the ProjectPropertyChanging. This event is raised whenever the configuration or project properties will soon change.
Public classServiceAddedEventArgsProvides data to the ServiceAdded event.
Public classShowDeleteRemoveMessageEventArgsProvides data for the ShowDeleteRemoveMessage event.

Public structureDatabaseProjectBuildActionDefinitionDefines a new build action to be added to the project system.

Public interfaceIDatabaseFileNodeRepresents a file node in Solution Explorer.
Public interfaceIDatabaseFileReferenceNodeRepresents a file reference node in Solution Explorer.
Public interfaceIDatabaseFolderNodeRepresents a folder node in Solution Explorer.
Public interfaceIDatabaseNodeRepresents a node in Solution Explorer. It can be a IDatabaseProjectNode, IDatabaseReferenceNode, IDatabaseProjectPropertiesFolderNode, IDatabaseFolderNode, or IDatabaseFileNode.
Public interfaceIDatabaseProjectAddNewItemParticipantClasses that implement IDatabaseProjectFeature should implement this interface to participate in the Add New Item and Add Existing Item dialog boxes.
Public interfaceIDatabaseProjectBuildActionContributorDatabase projects in Visual Studio have several predefined build actions: "Build", "NotInBuild", and "PropertiesFile". This interface provides an extension point to enable you to add new build actions that the features of the database schema provider can interpret as they choose. If you define an object that implements IDatabaseProjectBuildActionContributor, that object will be created when the project is opened. The new build actions are then retrieved and the object will then be released.
Public interfaceIDatabaseProjectConfigurationRepresents a single configuration in the project system, such as "Debug".
Public interfaceIDatabaseProjectConfigurationProviderThe manager for all the project configurations.
Public interfaceIDatabaseProjectExtenderContributor<TExtendee>Enables project features to add to the properties of the database project node and to the database configuration objects.
Public interfaceIDatabaseProjectFeatureIdentifies a class as an extension to the database project behavior.
Public interfaceIDatabaseProjectFileUpgradeControllerThis controller runs before the Visual Studio project system has been created. Therefore, this object can directly upgrade the raw project XML file before that project is opened.
Public interfaceIDatabaseProjectHelpKeywordProviderAllows database schema provider vendors to provide the Help keyword for the project system.
Public interfaceIDatabaseProjectIdleProcessorImplementers of IDatabaseProjectFeature can implement this interface to participate in the project idle processing loop.
Public interfaceIDatabaseProjectNodeThis interface represents the top-level node in Solution Explorer. You can access this class in several ways. By using Visual Studio Design Time Extensibility (DTE), you can navigate through the solution and cast the Object (project.Object as IVsHierarchy, in C#) of the appropriate EnvDTE.Project. If you navigate by using IVsSolution and its associated projects, you can cast the IVsProject, IVsHierarchy, or IVsUIHierarchy to an IDatabaseProjectNode. Nodes underneath this class will be IDatabaseNodes also: either IDatabaseFolderNode, IDatabaseFileNode, or IDatabaseReferenceNode.
Public interfaceIDatabaseProjectPartialProjectParticipantClasses that implement IDatabaseProjectFeature can implement this interface to participate in the export of files to partial projects.
Public interfaceIDatabaseProjectPriorityCommandTargetThis interface tells the project system to route to this command target before it routes to any other project features or even to the core project system.
Public interfaceIDatabaseProjectPropertiesContainerThis interface represents the properties folder in Solution Explorer.
Public interfaceIDatabaseProjectPropertiesFolderNodeThis interface represents a properties node in Solution Explorer.
Public interfaceIDatabaseProjectPropertyPageContributorImplementation of this interface enables features to contribute to the project property pages.
Public interfaceIDatabaseProjectPropertyPageDefinitionThe definition of a property page for a database project.
Public interfaceIDatabaseProjectReferenceControllerThis extension point controls how references are added to the database project system.
Public interfaceIDatabaseProjectReferenceNodeThis database node represents a reference to another project.
Public interfaceIDatabaseProjectSerializationParticipantParticipates in the serialization and deserialization of the database project.
Public interfaceIDatabaseProjectUserFileContributorUse this class to define properties that are persisted in the .user file.
Public interfaceIDatabaseProjectWorkloadProviderInstances of IDatabaseProjectFeature should implement this interface to participate in the status bar roll-up.
Public interfaceIDatabaseReferenceContainerThis represents the references folder in Solution Explorer.
Public interfaceIDatabaseReferenceNavigatorThis interface allows you to navigate through the references.
Public interfaceIDatabaseReferenceNodeRepresents a database reference node in Solution Explorer.
Public interfaceIDebuggableDatabaseProjectCreates an extension that implements this interface to indicate to the agnostic project system that your project can be debugged.

Public delegateCreateFileNodesProgressThis delegate is used to provide a progress callback when you call CreateFileNodes(IList<AddFileRequest>).

Public enumerationDatabaseProjectEventPropagationControls the ability to raise or block events.
Public enumerationDatabaseProjectProjectSyncOptionThis option provides guidance about how the project system synchronizes.
Public enumerationDatabaseProjectPropertyComparisonTypeProperty sets are short-circuited if the value does not change. Use this type to determine how the property management system compares old property values to new property values.
Public enumerationDatabaseProjectPropertyValueTypeDetermines what kind of evaluations should occur on the property value. EvaluatedValue indicates that the value is evaluated to expand all embedded properties. UnevaluatedValue indicates that the value is not evaluated (this is typically used for pre-build and post-build events) and leaves embedded macros in place.
Public enumerationDatabaseProjectTemplateDisplayResultIndicates the ownership of a feature for a particular entry in the Add New Item dialog box.
Public enumerationDatabaseProjectTemplateStringTypeEnumeration of the template strings that are used by instances of IDatabaseProjectAddNewItemParticipant.