Crear plantillas de elemento y plantillas de proyecto para los elementos de proyecto de SharePointCreating Item Templates and Project Templates for SharePoint Project Items

Cuando se define un tipo de elemento de proyecto de SharePoint personalizado, puede asociar con una plantilla de elementos o una plantilla de proyecto para que otros desarrolladores podrán usar el elemento de proyecto en Visual Studio.When you define a custom SharePoint project item type, you can associate it with an item template or a project template so that other developers can 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 elementos 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 contiene el elemento de campo.Or, you can construct a project template so that developers can create a new SharePoint project that contains the field item. En ambos casos, también puede proporcionar a un asistente que aparece cuando los desarrolladores utilizan 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 un proyecto.This wizard can collect information from developers to configure the new item or project.

Plantillas de elementos y las plantillas de proyecto son archivos .zip 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 plantillas de proyecto y plantillas de elementos, vea crear plantillas de proyecto y elemento.For more information about the fundamentals of item templates and project templates, see Creating Project and Item Templates.

Crear plantillas de elementosCreating Item Templates

Cuando se crea una plantilla de elementos de un elemento de proyecto de SharePoint, hay algunos archivos que siempre se necesitan y archivos opcionales que podrían 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 él, vea Tutorial: crear un 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: Creating a Custom Action Project Item with an Item Template, Part 1.

En la tabla siguiente se enumera los archivos necesarios para crear una plantilla de elementos de 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 archivo .spdataAn .spdata file Se trata de un archivo XML que especifica el contenido y el comportamiento predeterminado del elemento de proyecto.This is an XML file that specifies the contents and default behavior of the project item. Este archivo debe estar incluido 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 esquema de elemento de proyecto de SharePoint.For more information about the contents of .spdata files, see SharePoint Project Item Schema Reference.
Un archivo. vstemplate.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 estar incluido 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 los tipos de elemento de proyecto de SharePoint de personalizado y extensiones de implementación para las herramientas de SharePoint en Visual Studio.For more information, see Defining Custom SharePoint Project Item Types and Deploying Extensions for the SharePoint Tools in Visual Studio.

En la tabla siguiente se enumera algunos de los archivos más comunes de opcionales 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 aparezcan aquí.Some types of project items might require other files not listed here.

Archivo opcionalOptional File DescripciónDescription
Elements.xmlElements.xml A 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 lista, 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 de las 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 A 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 de 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 marcado XML que define una página de aplicación.This file contains XML markup that defines an application page.
archivos .cs o .vb.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 páginas de aplicación, elementos Web y los 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.

Creación de plantillas de proyectoCreating Project Templates

Cuando se crea una plantilla de proyecto de SharePoint, hay algunos archivos que están siempre los archivos necesarios y opcionales que podrían 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, vea 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: Creating 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 archivo .vstemplateA .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 para 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 archivo csproj o .vbprojA csproj or .vbproj file Este es el archivo de proyecto.This is the project file. Define el contenido y los 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 se utiliza 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 en 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 en el archivo Package.package como mínimo, y que configure el paquete de soluciones mediante las API en el Microsoft.VisualStudio.SharePoint.Packages espacio de nombres en una extensión que es asociado a 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 contra cambios futuros a la estructura del archivo Package.package.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 archivo Package.package con sólo lo mínimo necesario el contenido, 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: Creating a Site Column Project Item with a Project Template, Part 1.

Si desea modificar directamente el archivo Package.package, puede comprobar el contenido usando el esquema en % Program Files (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 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 un comportamiento determinado que no está diseñado 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 archivo de manifiesto de los archivos Package.Template.xml 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 acerca de cómo crear paquetes de soluciones, consulte Cómo: crear un paquete de solución de SharePoint (wsp).For more information about building solution packages, see How to: Create a SharePoint Solution Package (wsp).

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 más .spdata (archivos) que definen tipos de elemento de proyecto de SharePoint.You can include one or more .spdata files that define SharePoint project item types. Cada archivo .spdata debe tener su correspondiente ISharePointProjectItemTypeProvider implementación de 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 crear plantillas de elementos.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.featurefeatureName.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 se utiliza el Diseñador de características para personalizar una característica en el proyecto, Visual Studio almacena datos acerca de la característica en 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 características diferentes, puede incluir varios archivos .feature.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 incluir sólo el contenido mínimo necesario en cada archivo .feature, y configurar características con las API en el Microsoft.VisualStudio.SharePoint.Features espacio de nombres en una extensión que está asociada a 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 contra cambios futuros a la estructura del archivo .feature.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 archivo .feature con sólo lo mínimo necesario el contenido, 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: Creating a Site Column Project Item with a Project Template, Part 1.

Si desea modificar directamente un archivo .feature, puede comprobar el contenido usando el esquema en % Program Files (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.XmlfeatureName.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 un comportamiento determinado que no está diseñado 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 NombreCaracterísticaarchivo .feature y NombreCaracterística. Template.XML en un archivo de manifiesto de la característica.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 acerca de cómo crear paquetes de soluciones, consulte Cómo: crear un paquete de solución de SharePoint (wsp).For more information about building solution packages, see How to: Create a SharePoint Solution Package (wsp).

Crear a asistentes para plantillas de proyecto y plantillas de elementosCreating Wizards for Item Templates and Project Templates

Después de definir un tipo de elemento de proyecto de SharePoint y asociarlo a 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 proyecto y plantillas de elementos, 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: Creating a Custom Action Project Item with an Item Template, Part 2 and Walkthrough: Creating a Site Column Project Item with a Project Template, Part 2.

Vea tambiénSee Also

Definir tipos de elemento de proyecto personalizado de SharePoint Defining Custom SharePoint Project Item Types
Tutorial: Crear un elemento de proyecto de acción personalizado con una plantilla de elementos, parte 1 Walkthrough: Creating a Custom Action Project Item with an Item Template, Part 1
Tutorial: Crear un elemento de proyecto de acción personalizado con una plantilla de elementos, parte 2 Walkthrough: Creating a Custom Action Project Item with an Item Template, Part 2
Tutorial: Crear un elemento de proyecto de la columna de sitio con una plantilla de proyecto, parte 1 Walkthrough: Creating a Site Column Project Item with a Project Template, Part 1
Tutorial: Crear un elemento de proyecto de la columna de sitio con una plantilla de proyecto, parte 2 Walkthrough: Creating a Site Column Project Item with a Project Template, Part 2
Crear plantillas para proyectos y elementos en Visual StudioCreating Project and Item Templates