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

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.

Classes

  Class Description
Public class BuildActionChangeEventArgs Provides data when the build action for a project item has changed.
Public class BuildMacroRequestEventArgs Provides data for the BuildMacroRequest event.
Public class CanDeleteRequestEventArgs Provides data and control to features that can override the ability to delete a node from Solution Explorer.
Public class CanEditRequestEventArgs Provides data and control to features that can override the ability to edit the caption of a node from Solution Explorer.
Public class CatalogOrServerPropertyChangedEventArgs Provides data to the CatalogOrServerPropertyChanged event. This event is raised whenever the catalog or server properties are changed.
Public class ConfigurationAddedEventArgs Provides data for configuration added events.
Public class CreateFileNodesRequest This is a request object that is used by IDatabaseProjectNode.CreateFileNodes(IList<AddFileRequest>) .
Public class DatabaseProjectAddItemDialogContext When 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 class DatabaseProjectAddItemDialogHelper This 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 class DatabaseProjectBuildActionConverter Used 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 class DatabaseProjectBuildActionHelper Used 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 class DatabaseProjectConfig This 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 class DatabaseProjectConfigurationExtender Derives from this class to create extenders for database project configurations.
Public class DatabaseProjectExtenderBase This is the base class for all extenders (both node extenders and configuration extenders).
Public class DatabaseProjectExtenderCategories Defines the category identifiers to extend database project nodes.
Public class DatabaseProjectFileManagerService This represents the file manager extensibility feature for the project system.
Public class DatabaseProjectNodeExtender Derives 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 class DatabaseProjectPersistenceException Exception thrown by the support objects for MSBuild persistence.
Public class DatabaseProjectPropertySetFailedException This 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 class DatabaseProjectReferenceSelectorData Used 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 class DatabaseProjectSolutionExplorerAddItemDialogContext Provides context to the Add New Item dialog box.
Public class DatabaseProjectUpgradeException This exception is thrown when a project does not upgrade.
Public class DatabasePropertyPageControlData Contains information for every property on a project property page.
Public class DatabasePropertyPageDefinition Provides property page definitions to the extensibility point.
Public class DatabasePropertyPageUserControlBase Provides a base class for any project property pages. Any IDatabaseProjectFeature that implements IDatabaseProjectPropertyPageContributor can then return instances to add to the project properties.
Public class DragDropOrCopyPasteContext Provides context for what occurred during a copy-and-paste operation or during a drag-and-drop operation.
Public class DragDropOrCopyPasteEventArgs Provides data that is used after a drag and drop operation or a copy and paste operation has occurred.
Public class ExcludeFromProjectEventArgs Provides data for the file exclude event that comes from Solution Explorer.
Public class FileIconRequestEventArgs Provides data that is used when the core project system encounters a new file name extension and requires an icon for Solution Explorer.
Public class IncludeInProjectEventArgs Provides data for the NodeIncludedInProject event that comes from Solution Explorer.
Public class IsCodeFileRequestEventArgs Provides data to an IsCodeFile event from the project system.
Public class NewProjectEventArgs Provides data for the NewProjectCreated event.
Public class NodeAddedEventArgs Provides data to the DatabaseNodeAdded event that is raised when a node is added to Solution Explorer.
Public class NodeAttributesChangedEventArgs Provides data for the NodeAttributesChanged event.
Public class NodeDeletedEventArgs Provides data to the DatabaseNodeDeleted event that is raised when a node is deleted from Solution Explorer.
Public class NodeRenamedEventArgs Provides data to the DatabaseNodeRenamed event.
Public class ProjectClosedEventArgs Provides data for the ProjectClosed event.
Public class ProjectEventArgs Provides data to several project events and acts as a base class for other event argument classes that are raised from the project system.
Public class ProjectLoadedEventArgs Provides data to the ProjectLoaded event. That event is raised when the project has completed deserialization (which occurs on the nonuser interface thread).
Public class ProjectOpenedEventArgs Provides data to the ProjectOpened event.
Public class ProjectOpeningEventArgs Provides data for the ProjectOpening event.
Public class PropertyChangedEventArgs Provides data to the ProjectPropertyChanged event. This event is raised whenever the configuration or project properties have changed.
Public class PropertyChangingEventArgs Provides data to the ProjectPropertyChanging. This event is raised whenever the configuration or project properties will soon change.
Public class ServiceAddedEventArgs Provides data to the ServiceAdded event.
Public class ShowDeleteRemoveMessageEventArgs Provides data for the ShowDeleteRemoveMessage event.

Structures

  Structure Description
Public structure DatabaseProjectBuildActionDefinition Defines a new build action to be added to the project system.

Interfaces

  Interface Description
Public interface IDatabaseFileNode Represents a file node in Solution Explorer.
Public interface IDatabaseFileReferenceNode Represents a file reference node in Solution Explorer.
Public interface IDatabaseFolderNode Represents a folder node in Solution Explorer.
Public interface IDatabaseNode Represents a node in Solution Explorer. It can be a IDatabaseProjectNode, IDatabaseReferenceNode, IDatabaseProjectPropertiesFolderNode, IDatabaseFolderNode, or IDatabaseFileNode.
Public interface IDatabaseProjectAddNewItemParticipant Classes that implement IDatabaseProjectFeature should implement this interface to participate in the Add New Item and Add Existing Item dialog boxes.
Public interface IDatabaseProjectBuildActionContributor Database 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 interface IDatabaseProjectConfiguration Represents a single configuration in the project system, such as "Debug".
Public interface IDatabaseProjectConfigurationProvider The manager for all the project configurations.
Public interface IDatabaseProjectExtenderContributor<TExtendee> Enables project features to add to the properties of the database project node and to the database configuration objects.
Public interface IDatabaseProjectFeature Identifies a class as an extension to the database project behavior.
Public interface IDatabaseProjectFileUpgradeController This 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 interface IDatabaseProjectHelpKeywordProvider Allows database schema provider vendors to provide the Help keyword for the project system.
Public interface IDatabaseProjectIdleProcessor Implementers of IDatabaseProjectFeature can implement this interface to participate in the project idle processing loop.
Public interface IDatabaseProjectNode This 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 interface IDatabaseProjectPartialProjectParticipant Classes that implement IDatabaseProjectFeature can implement this interface to participate in the export of files to partial projects.
Public interface IDatabaseProjectPriorityCommandTarget This 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 interface IDatabaseProjectPropertiesContainer This interface represents the properties folder in Solution Explorer.
Public interface IDatabaseProjectPropertiesFolderNode This interface represents a properties node in Solution Explorer.
Public interface IDatabaseProjectPropertyPageContributor Implementation of this interface enables features to contribute to the project property pages.
Public interface IDatabaseProjectPropertyPageDefinition The definition of a property page for a database project.
Public interface IDatabaseProjectReferenceController This extension point controls how references are added to the database project system.
Public interface IDatabaseProjectReferenceNode This database node represents a reference to another project.
Public interface IDatabaseProjectSerializationParticipant Participates in the serialization and deserialization of the database project.
Public interface IDatabaseProjectUserFileContributor Use this class to define properties that are persisted in the .user file.
Public interface IDatabaseProjectWorkloadProvider Instances of IDatabaseProjectFeature should implement this interface to participate in the status bar roll-up.
Public interface IDatabaseReferenceContainer This represents the references folder in Solution Explorer.
Public interface IDatabaseReferenceNavigator This interface allows you to navigate through the references.
Public interface IDatabaseReferenceNode Represents a database reference node in Solution Explorer.
Public interface IDebuggableDatabaseProject Creates an extension that implements this interface to indicate to the agnostic project system that your project can be debugged.

Delegates

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

Enumerations

  Enumeration Description
Public enumeration DatabaseProjectEventPropagation Controls the ability to raise or block events.
Public enumeration DatabaseProjectProjectSyncOption This option provides guidance about how the project system synchronizes.
Public enumeration DatabaseProjectPropertyComparisonType Property 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 enumeration DatabaseProjectPropertyValueType Determines 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 enumeration DatabaseProjectTemplateDisplayResult Indicates the ownership of a feature for a particular entry in the Add New Item dialog box.
Public enumeration DatabaseProjectTemplateStringType Enumeration of the template strings that are used by instances of IDatabaseProjectAddNewItemParticipant.