Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los parámetros reemplazables o tokens se pueden usar dentro de los archivos de proyecto para proporcionar valores para los elementos de la solución de SharePoint cuyos valores reales no se conocen en tiempo de diseño. Son similares en su función a los tokens de plantilla estándar de Visual Studio. Para obtener más información, consulte Parámetros de plantilla.
Formato de token
Los tokens comienzan y terminan con un carácter de signo de dólar ($). En la implementación, los tokens usados se reemplazan por valores reales cuando un proyecto se empaqueta en un paquete de solución de SharePoint (archivo .wsp ). Por ejemplo, el token $SharePoint.Package.Name$ podría resolverse en la cadena "Test SharePoint Package".
Reglas de token
Las reglas siguientes se aplican a los tokens:
Los tokens se pueden especificar en cualquier parte de una línea.
Los tokens no pueden abarcar varias líneas.
El mismo token se puede especificar más de una vez en la misma línea y en el mismo archivo.
Se pueden especificar tokens diferentes en la misma línea.
Los tokens que no siguen estas reglas se omiten y no producen una advertencia o un error.
El reemplazo de tokens por valores de cadena se realiza inmediatamente después de la transformación del manifiesto. Este reemplazo permite al usuario editar las plantillas de manifiesto con tokens.
Resolución de nombres de tokens
En la mayoría de los casos, un token se resuelve en un valor específico independientemente de dónde esté contenido. Sin embargo, si el token está relacionado con un paquete o característica, el valor del token depende de dónde esté contenido. Por ejemplo, si una característica está en el paquete A, el token $SharePoint.Package.Name$ se resuelve en el valor "Package A". Si la misma característica está en el paquete B, se $SharePoint.Package.Name$ resuelve en "Paquete B".
Lista de tokens
En la tabla siguiente se enumeran los tokens disponibles.
| Nombre | Description |
|---|---|
| $SharePoint.Project.FileName$ | Nombre del archivo de proyecto contenedor, como NewProj.csproj. |
| $SharePoint.Project.FileNameWithoutExtension$ | Nombre del archivo de proyecto contenedor sin la extensión de nombre de archivo. Por ejemplo, "NewProj". |
| $SharePoint.Project.AssemblyFullName$ | Nombre para mostrar (nombre fuerte) del ensamblado de salida del proyecto contenedor. |
| $SharePoint.Project.AssemblyFileName$ | Nombre del ensamblaje de salida del proyecto contenedor. |
| $SharePoint.Project.AssemblyFileNameWithoutExtension$ | Nombre del ensamblado de salida del proyecto contenedor, sin la extensión de nombre de archivo. |
| $SharePoint.Project.AssemblyPublicKeyToken$ | Token de clave pública del ensamblado de salida del proyecto contenedor, convertido en una cadena. (16 caracteres en formato hexadecimal "x2". |
| $SharePoint.Package.Name$ | Nombre del paquete contenedor. |
| $SharePoint.Package.FileName$ | Nombre del archivo de definición del paquete contenedor. |
| $SharePoint.Package.FileNameWithoutExtension$ | Nombre (sin extensión) del archivo de definición del paquete contenedor. |
| $SharePoint.Package.Id$ | ID de SharePoint del paquete contenedor. Si se usa una característica en más de un paquete, este valor cambiará. |
| $SharePoint.Feature.FileName$ | Nombre del archivo de definición de la característica contenedora, como Feature1.feature. |
| $SharePoint.Feature.FileNameWithoutExtension$ | Nombre del archivo de definición de características, sin la extensión de nombre de archivo. |
| $SharePoint.Feature.DeploymentPath$ | Nombre de la carpeta que contiene la característica en el paquete. Este token equivale a la propiedad "Ruta de implementación" en el Diseñador de características. Un valor de ejemplo es "Project1_Feature1". |
| $SharePoint.Feature.Id$ | Identificador de SharePoint de la característica contenedora. Este token, al igual que todos los tokens de nivel de característica, solo puede ser utilizado por archivos incluidos en un paquete a través de una característica; no se pueden agregar directamente a un paquete fuera de una característica. |
| $SharePoint.ProjectItem.Name$ | Nombre del elemento de proyecto (no su nombre de archivo), como se obtiene de ISharePointProjectItem.Name. |
| $SharePoint.Type.<GUID>.AssemblyQualifiedName$ | Nombre completo del ensamblado del tipo que coincide con el GUID del token. El formato del GUID está en minúsculas y corresponde al formato Guid.ToString("D") (es decir, xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
| $SharePoint.Type.<GUID>.FullName$ | Nombre completo del tipo que coincide con el GUID en el token. El formato del GUID está en minúsculas y corresponde al formato Guid.ToString("D") (es decir, xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
Agregar extensiones a la lista de extensiones de archivo para el reemplazo de tokens
Aunque los tokens pueden usar teóricamente cualquier archivo que pertenezca a un elemento de proyecto de SharePoint incluido en el paquete, de forma predeterminada, Visual Studio solo busca tokens en archivos de paquete, archivos de manifiesto y archivos que tienen las siguientes extensiones:
XML
ASCX
ASPX
Elemento web
DWP
Estas extensiones se definen mediante el
<TokenReplacementFileExtensions>elemento del archivo Microsoft.VisualStudio.SharePoint.targets, que se encuentra en la carpeta ...\<program files>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools.Sin embargo, puede agregar extensiones de archivo adicionales a la lista. Agregue un
<TokenReplacementFileExtensions>elemento a cualquier PropertyGroup en el archivo de proyecto de SharePoint definido antes de la <importación> del archivo de destinos de SharePoint.
Nota:
Dado que el reemplazo de tokens se produce después de compilar un proyecto, no debe agregar extensiones de archivo para los tipos de archivo compilados, como .cs, .vb o .resx. Los tokens solo se reemplazan en archivos que no se compilan.
Por ejemplo, para agregar las extensiones de nombre de archivo (.myextension y .yourextension) a la lista de extensiones de nombre de archivo de reemplazo de tokens, agregaría lo siguiente a un archivo de proyecto (.csproj):
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
.
.
.
<!-- Define the following property to add your extension to the list of token replacement file extensions. -->
<TokenReplacementFileExtensions>myextension;yourextension</TokenReplacementFileExtensions>
</PropertyGroup>
Puede agregar la extensión directamente al archivo de destinos (.targets). Sin embargo, agregar la extensión modifica la lista de extensiones para todos los proyectos de SharePoint empaquetados en el sistema local, no solo los propios. Esta extensión puede ser conveniente cuando es el único desarrollador del sistema o si la mayoría de los proyectos lo requieren. Sin embargo, dado que es específico del sistema, este enfoque no es portátil y, por lo tanto, se recomienda agregar extensiones al archivo del proyecto en su lugar.