Extend the SharePoint project system

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

You can create SharePoint solutions by using a set of project templates and item templates in Visual Studio. These templates meet the requirements of many development scenarios, but you might discover some cases where they don't provide functionality that you require. In these cases, you can extend the SharePoint project system.

Overview of the SharePoint project system

The SharePoint project system is based on the fundamental component of SharePoint project items. A SharePoint project item represents a single SharePoint customization, such as a list definition, Web Part, or content type.

A SharePoint project is a Visual Studio project that includes one or more SharePoint project items. SharePoint projects also contain additional components that define how project items are grouped into Features and packages for deployment.

For more information about the contents of SharePoint project items and SharePoint projects, see Create item templates and project templates for SharePoint project items.

How to extend the SharePoint project system

You can extend the SharePoint project system in the following ways:

  • Define your own SharePoint project item types and associate them with new item templates or project templates in Visual Studio. For example, you can define a SharePoint project item type for creating a custom action or a field. For more information, see Define custom SharePoint project item types.

  • Extend SharePoint project item types that are already installed in Visual Studio. For example, you can add a shortcut menu item to a project item in Solution Explorer and customize the project item when a developer chooses the menu item. For more information, see Extend SharePoint project items.

  • Extend SharePoint projects. For example, you can add event handlers to perform specific tasks when items are added or removed from SharePoint projects. For more information, see Extend SharePoint projects.

  • Extend the packaging and deployment behavior of SharePoint project items and SharePoint projects. For example, you can create your own deployment steps to execute when you deploy or retract a project, or you can perform additional custom tasks when Visual Studio executes certain deployment steps. For more information, see Extend SharePoint packaging and deployment.

Common development tasks

You can perform the following common tasks in extensions of the SharePoint project system:

See also