Crear plantillas de elemento y plantillas de proyecto para los elementos de proyecto de SharePointCreate item templates and project templates for SharePoint project items

Al definir un tipo de elemento de proyecto de SharePoint personalizado, puede asociarlo con una plantilla de elemento o una plantilla de proyecto.When you define a custom SharePoint project item type, you can associate it with an item template or a project template. Esta asociación permite que otros desarrolladores usen el elemento de proyecto en Visual Studio.This association allows other developers to use the project item in Visual Studio. También puede crear a un Asistente para la plantilla.You can also create a wizard for the template.

Por ejemplo, Visual Studio no incluye una plantilla de proyecto o elemento para agregar un campo a un sitio de SharePoint.For example, Visual Studio does not include a project template or item template for adding a field to a SharePoint site. Puede definir un tipo de elemento de proyecto de SharePoint que representa un campo y, a continuación, crear una plantilla de elemento que otros desarrolladores pueden usar para agregar el elemento de campo a un proyecto de SharePoint.You can define a SharePoint project item type that represents a field and then construct an item template that other developers can use to add the field item to a SharePoint project. O bien, puede crear una plantilla de proyecto para que los desarrolladores pueden crear un nuevo proyecto de SharePoint que tiene el elemento de campo.Or, you can construct a project template so that developers can create a new SharePoint project that has the field item. En ambos casos, también puede proporcionar a un asistente que aparece cuando los desarrolladores usar la plantilla.In both cases, you can also provide a wizard that appears when developers use your template. Este asistente puede recopilar información de los desarrolladores a configurar el nuevo elemento o proyecto.This wizard can collect information from developers to configure the new item or project.

Las plantillas de elemento y plantillas de proyecto son .zip archivos que contienen archivos que se utilizan por Visual Studio para crear un proyecto o elemento de proyecto.Item templates and project templates are .zip files that contain files that are used by Visual Studio to create a project item or project. Para obtener más información sobre los fundamentos de las plantillas de elemento y plantillas de proyecto, vea crear plantillas de proyecto y elemento.For more information about the fundamentals of item templates and project templates, see Create project and item templates.

Crear plantillas de elementoCreate item templates

Cuando se crea una plantilla de elemento para un elemento de proyecto de SharePoint, hay algunos archivos que siempre son necesarios y archivos opcionales que pueden usarse para determinados tipos de elementos de proyecto.When you create an item template for a SharePoint project item, there are some files that are always required, and optional files that might be used by certain types of project items. Para ver un tutorial que muestra cómo definir un tipo de elemento de proyecto de SharePoint y crear una plantilla de elemento para ella, consulte Tutorial: crear elemento de proyecto de acción personalizado con una plantilla de elementos, parte 1.For a walkthrough that demonstrates how to define a SharePoint project item type and create an item template for it, see Walkthrough: create custom action project item with an item template, Part 1.

En la tabla siguiente se enumera los archivos necesarios para crear una plantilla de elemento para un elemento de proyecto de SharePoint.The following table lists the required files to create an item template for a SharePoint project item.

Archivo necesarioRequired file DescripciónDescription
Un .spdata archivoAn .spdata file Este archivo XML especifica el contenido y el comportamiento predeterminado del elemento de proyecto.This XML file specifies the contents and default behavior of the project item. Este archivo debe incluirse en la plantilla de elemento.This file must be included in the item template. Para obtener más información sobre el contenido de .spdata archivos, consulte referencia de esquemas de elemento de proyecto de SharePoint.For more information about the contents of .spdata files, see SharePoint project item schema reference.
Un .vstemplate archivo.A .vstemplate file. Este archivo proporciona Visual Studio con la información necesaria para mostrar la plantilla en el Agregar nuevo elemento cuadro de diálogo y crear un elemento de proyecto de la plantilla.This file provides Visual Studio with the information required to display the template in the Add New Item dialog box and to create a project item from the template. Este archivo debe incluirse en la plantilla de elemento.This file must be included in the item template. Para obtener más información, consulte archivos de metadatos de plantilla de Visual Studio.For more information, see Visual Studio Template Metadata Files.
Un ensamblado de extensión de Visual Studio que implementa el ISharePointProjectItemTypeProvider interfaz.A Visual Studio extension assembly that implements the ISharePointProjectItemTypeProvider interface. Este ensamblado define el comportamiento de tiempo de ejecución del elemento de proyecto.This assembly defines the run time behavior of the project item. Este ensamblado debe incluirse en el paquete VSIX con la plantilla de elemento.This assembly must be included in the VSIX package with the item template. Para obtener más información, consulte definir tipos de elemento de proyecto de SharePoint personalizados y implementar extensiones para las herramientas de SharePoint en Visual Studio.For more information, see Define custom SharePoint project item types and Deploy extensions for the SharePoint tools in Visual Studio.

En la tabla siguiente se enumera algunos de los archivos opcionales más comunes que pueden incluirse en la plantilla de elemento.The following table lists some of the most common optional files that can be included in the item template. Algunos tipos de elementos de proyecto podrían requerir otros archivos que no aparece aquí.Some types of project items might require other files not listed here.

Archivo opcionalOptional File DescripciónDescription
Elements.XmlElements.xml Un elemento Feature archivo.A Feature element file. Este archivo define la interfaz de usuario y el comportamiento de la personalización creada por el elemento de proyecto.This file defines the UI and behavior of the customization created by the project item. Cada tipo de personalización como instancias de listas, tipos de contenido o acciones personalizadas, tiene un esquema diferente que define el contenido de este archivo.Each type of customization, such as list instances, content types, or custom actions, has a different schema that defines the contents of this file. Para obtener más información, consulte bloques de creación: características y característica esquemas.For more information, see Building Block: Features and Feature Schemas.
Schema.XmlSchema.xml El archivo de esquema para definiciones de lista.The schema file for list definitions. Para obtener más información, consulte bloques de creación: listas y bibliotecas de documentos y Schema.xml.For more information, see Building Block: Lists and Document Libraries and Schema.xml.
.WebPart.webpart Un definición de elemento Web archivo.A Web Part definition file. Este archivo contiene los valores de propiedad para un elemento Web.This file contains property settings for a Web Part. Para obtener más información, consulte bloques de creación: elementos Web.For more information, see Building Block: Web Parts.
.ascx.ascx Un archivo de control de usuario ASP.NET.An ASP.NET UserControl file. Este archivo define la interfaz de usuario de un elemento Web Visual.This file defines the UI of a Visual Web Part.
.aspx.aspx Un archivo de página ASP.NET.An ASP.NET page file. Este archivo contiene el marcado XML que define una página de aplicación.This file contains XML markup that defines an application page.
.cs o .vb archivos.cs or .vb files Estos archivos de código definen el comportamiento de las personalizaciones de SharePoint que tienen un modelo de programación que se puede acceder desde Visual C# o código de Visual Basic, como las páginas de aplicación, elementos Web y flujos de trabajo.These code files define the behavior of SharePoint customizations that have a programming model that can be accessed from Visual C# or Visual Basic code, such as application pages, Web parts, and workflows.

Crear plantillas de proyectoCreate project templates

Cuando se crea una plantilla de proyecto de SharePoint, hay algunos archivos que son siempre los archivos obligatorios y opcionales que pueden usarse para determinados tipos de proyectos.When you create a SharePoint project template, there are some files that are always required, and optional files that might be used by certain types of projects. Normalmente, los proyectos de SharePoint incluyen al menos un elemento de proyecto de SharePoint.Typically, SharePoint projects include at least one SharePoint project item. Sin embargo, esto no es necesario.However, this is not required. Por ejemplo, podría definir una plantilla de proyecto de SharePoint que está pensada para usarse solo para implementar soluciones de SharePoint que se crearon en otros proyectos.For example, you could define a SharePoint project template that is intended to be used only to deploy SharePoint solutions created in other projects.

Para ver un tutorial que muestra cómo definir un tipo de elemento de proyecto de SharePoint y crear una plantilla de proyecto para él, consulte Tutorial: crear un elemento de proyecto de la columna de sitio con una plantilla de proyecto, parte 1.For a walkthrough that demonstrates how to define a SharePoint project item type and create a project template for it, see Walkthrough: Create a site column project item with a project template, Part 1.

En la tabla siguiente se enumera los archivos que deben incluirse en una plantilla de proyecto de SharePoint.The following table lists the files that must be included in a SharePoint project template.

Archivo necesarioRequired file DescripciónDescription
Un .vstemplate archivoA .vstemplate file Este archivo proporciona Visual Studio con la información necesaria para mostrar la plantilla en el nuevo proyecto cuadro de diálogo y crear un proyecto de la plantilla.This file provides Visual Studio with the information required to display the template in the New Project dialog box and to create a project from the template. Para obtener más información, consulte archivos de metadatos de plantilla de Visual Studio.For more information, see Visual Studio Template Metadata Files.
Un .csproj o .vbproj archivoA .csproj or .vbproj file Este es el archivo de proyecto.This is the project file. Define el contenido y valores de configuración del proyecto.It defines the contents and configuration settings of the project.
Package.PackagePackage.package Este archivo define el paquete de implementación para el proyecto.This file defines the deployment package for the project. Cuando usa el Diseñador de paquetes para personalizar el paquete de solución para el proyecto, Visual Studio almacena datos sobre el paquete de solución de este archivo.When you use the Package Designer to customize the solution package for your project, Visual Studio stores data about the solution package in this file.

Cuando se crea una plantilla de proyecto de SharePoint personalizada, se recomienda que incluya solo el contenido mínimo necesario en el Package.package archivo y que configure el paquete de soluciones mediante las API en el Microsoft.VisualStudio.SharePoint.Packages espacio de nombres en una extensión que está asociada con la plantilla de proyecto.When you create a custom SharePoint project template, we recommend that you include only the minimum required content in the Package.package file, and that you configure the solution package by using the APIs in the Microsoft.VisualStudio.SharePoint.Packages namespace in an extension that is associated with the project template. Si lo hace, la plantilla de proyecto está protegida de futuros cambios en la estructura de la Package.package archivo.If you do this, your project template is protected from future changes to the structure of the Package.package file. Para obtener un ejemplo que muestra cómo crear un Package.package contenido del archivo con solo el mínimo requerido, consulte Tutorial: crear un elemento de proyecto de la columna de sitio con una plantilla de proyecto, parte 1.For an example that demonstrates how to create a Package.package file with only the minimum required content, see Walkthrough: Create a site column project item with a project template, Part 1.

Si desea modificar el Package.package archivo directamente, puede comprobar el contenido mediante el esquema en % archivos de programa (x86)%\Microsoft Visual Studio 11.0\Xml\Schemas\PackageModelSchema.xsd .If you want to modify the Package.package file directly, you can verify the contents by using the schema at %Program Files (x86)%\Microsoft Visual Studio 11.0\Xml\Schemas\PackageModelSchema.xsd.
Package.Template.xmlPackage.Template.xml Este archivo proporciona la base para el archivo de manifiesto de la solución (manifest.xml) para el paquete de solución de SharePoint (.wsp) que se genera a partir del proyecto.This file provides the basis for the solution manifest file (manifest.xml) for the SharePoint solution package (.wsp) that is generated from the project. Puede agregar contenido a este archivo si desea especificar algún comportamiento que no está pensado para los usuarios de su tipo de proyecto pueden cambiar.You can add content to this file if you want to specify some behavior that is not intended to be changed by users of your project type. Para obtener más información, consulte bloques de creación: soluciones y solución esquema.For more information, see Building Block: Solutions and Solution Schema.

Al compilar un paquete de solución del proyecto, Visual Studio combina el contenido de la Package.package y Package.Template.xml archivo de manifiesto de archivos en la solución.When you build a solution package from the project, Visual Studio merges the contents of the Package.package and the Package.Template.xml files into the solution manifest file. Para obtener más información sobre la creación de paquetes de soluciones, consulte Cómo: crear un paquete de solución de SharePoint mediante el uso de las tareas de MSBuild.For more information about building solution packages, see How to: Create a SharePoint Solution Package by using MSBuild tasks.

En la tabla siguiente se enumera los archivos opcionales que pueden incluirse en la plantilla de proyecto.The following table lists the optional files that can be included in the project template.

Archivo opcionalOptional file DescripciónDescription
elementos de proyecto de SharePointSharePoint project items Puede incluir uno o varios archivos .spdata que definen los tipos de elemento de proyecto de SharePoint.You can include one or more .spdata files that define SharePoint project item types. Cada .spdata debe tener su correspondiente archivo ISharePointProjectItemTypeProvider implementación en un ensamblado de extensión que se incluye en el paquete VSIX con la plantilla de proyecto.Each .spdata file must have a matching ISharePointProjectItemTypeProvider implementation in an extension assembly that is included in the VSIX package with the project template. Para obtener más información, consulte creación de plantillas de elemento.For more information, see Creating Item Templates.

Normalmente, los proyectos de SharePoint incluyen al menos un elemento de proyecto de SharePoint.Typically, SharePoint projects include at least one SharePoint project item. Sin embargo, esto no es necesario.However, this is not required.
<featureName > .feature<featureName>.feature Este archivo define una característica de SharePoint que se usa para agrupar varios elementos de proyecto para la implementación.This file defines a SharePoint Feature that is used to group several project items for deployment. Cuando usa el Diseñador de características para personalizar una característica en el proyecto, Visual Studio almacena datos sobre la característica de este archivo.When you use the Feature Designer to customize a Feature in your project, Visual Studio stores data about the Feature in this file. Si desea agrupar los elementos de proyecto en diferentes características, puede incluir varios .feature archivos.If you want to group the project items into different Features, you can include multiple .feature files.

Cuando se crea una plantilla de proyecto de SharePoint personalizada, se recomienda que incluya solo el contenido mínimo necesario en cada .feature archivos y configuración de características mediante las API en el Microsoft.VisualStudio.SharePoint.Features espacio de nombres en un extensión que está asociada con la plantilla de proyecto.When you create a custom SharePoint project template, we recommend that you include only the minimum required content in each .feature file, and that you configure Features by using the APIs in the Microsoft.VisualStudio.SharePoint.Features namespace in an extension that is associated with the project template. Si lo hace, la plantilla de proyecto está protegida de futuros cambios en la estructura de la .feature archivo.If you do this, your project template is protected from future changes to the structure of the .feature file. Para obtener un ejemplo que muestra cómo crear un .feature contenido del archivo con solo el mínimo requerido, consulte Tutorial: crear un elemento de proyecto de la columna de sitio con una plantilla de proyecto, parte 1.For an example that demonstrates how to create a .feature file with only the minimum required content, see Walkthrough: Create a site column project item with a project template, Part 1.

Si desea modificar un .feature archivo directamente, puede comprobar el contenido mediante el esquema en % archivos de programa (x86)%\Microsoft Visual Studio 11.0\Xml\Schemas\FeatureModelSchema.xsd.If you want to modify a .feature file directly, you can verify the contents by using the schema at %Program Files (x86)%\Microsoft Visual Studio 11.0\Xml\Schemas\FeatureModelSchema.xsd.
<featureName >. Template.Xml<featureName>.Template.xml Este archivo proporciona la base para el archivo de manifiesto de característica (Feature.xml) para cada característica que se genera a partir del proyecto.This file provides the basis for the feature manifest file (Feature.xml) for each Feature that is generated from the project. Puede agregar contenido a este archivo si desea especificar algún comportamiento que no está pensado para los usuarios de su tipo de proyecto pueden cambiar.You can add content to this file if you want to specify some behavior that is not intended to be changed by users of your project type. Para obtener más información, consulte bloques de creación: características y Feature.xml archivos.For more information, see Building Block: Features and Feature.xml Files.

Al compilar un paquete de solución del proyecto, Visual Studio combina el contenido de cada par de <NombreDeCaracterística > .feature archivo y <NombreDeCaracterística >. Template.XML archivos en función de un archivo de manifiesto.When you build a solution package from the project, Visual Studio merges the contents of each pair of <featureName>.feature file and <featureName>.Template.xml files into a feature manifest file. Para obtener más información sobre la creación de paquetes de soluciones, consulte Cómo: crear un paquete de solución de SharePoint mediante el uso de las tareas de MSBuild.For more information about building solution packages, see How to: Create a SharePoint Solution Package by using MSBuild tasks.

Crear a asistentes para plantillas de elemento y plantillas de proyectoCreate wizards for item templates and project templates

Después de definir un tipo de elemento de proyecto de SharePoint y asociarlo con una plantilla de elemento o un proyecto, también puede crear a un asistente.After you define a SharePoint project item type and associate it with an item or project template, you can also create a wizard. El asistente muestra cuando un desarrollador usa la plantilla de elemento para agregar el elemento de proyecto de SharePoint a un proyecto, o cuando un desarrollador usa la plantilla de proyecto para crear un nuevo proyecto que contiene el elemento de proyecto de SharePoint.The wizard displays when a developer uses the item template to add the SharePoint project item to a project, or when a developer uses the project template to create a new project that contains the SharePoint project item. El asistente puede usarse para recopilar información de los desarrolladores e inicializar el nuevo elemento de proyecto de SharePoint.The wizard can be used to collect information from developers and to initialize the new SharePoint project item.

Para ver tutoriales que muestran cómo crear asistentes para plantillas de elemento y plantillas de proyecto, vea Tutorial: crear un elemento de proyecto de acción personalizado con una plantilla de elementos, parte 2 y Tutorial: crear un sitio elemento de proyecto de columna con una plantilla de proyecto, parte 2.For walkthroughs that demonstrate how to create wizards for item templates and project templates, see Walkthrough: Create a custom action project item with an item template, Part 2 and Walkthrough: Create a site column project item with a project template, Part 2.

Vea tambiénSee also