Partager via


Paramètres remplaçables

Les paramètres remplaçables ou les jetons peuvent être utilisés dans les fichiers projet pour fournir des valeurs pour les éléments de solution SharePoint dont les valeurs réelles ne sont pas connues au moment du design. Ils sont similaires en fonction aux jetons de modèle Visual Studio standard. Pour plus d’informations, consultez Paramètres du modèle.

Format de jeton

Les jetons commencent et se terminent par un caractère de signe dollar ($). Lors du déploiement, tous les jetons utilisés sont remplacés par des valeurs réelles lorsqu’un projet est empaqueté dans un package de solution SharePoint (fichier .wsp ). Par exemple, le jeton $SharePoint.Package.Name$ peut être résolu en chaîne « Tester le package SharePoint ».

Règles de Token

Les règles suivantes s’appliquent aux jetons :

  • Les jetons peuvent être spécifiés n’importe où dans une ligne.

  • Les jetons ne peuvent pas s’étaler sur plusieurs lignes.

  • Le même jeton peut être spécifié plusieurs fois sur la même ligne et dans le même fichier.

  • Différents jetons peuvent être spécifiés sur la même ligne.

    Les jetons qui ne suivent pas ces règles sont ignorés et n’entraînent pas d’avertissement ou d’erreur.

    Le remplacement des jetons par des valeurs de chaîne est effectué immédiatement après la transformation du manifeste. Ce remplacement permet à l’utilisateur de modifier les modèles de manifeste avec des jetons.

Résolution de noms de jeton

Dans la plupart des cas, un jeton se résout en une valeur spécifique, peu importe où il se trouve. Toutefois, si le jeton est lié à un package ou une fonctionnalité, la valeur du jeton dépend de l’emplacement où il est contenu. Par exemple, si une fonctionnalité se trouve dans le package A, le jeton $SharePoint.Package.Name$ est résolu en valeur « Package A ». Si la même fonctionnalité se trouve dans le package B, la $SharePoint.Package.Name$ résolution est « Package B ».

Liste des jetons

Le tableau suivant répertorie les jetons disponibles.

Nom Descriptif
$SharePoint.Project.FileName$ Nom du fichier projet contenant, tel que NewProj.csproj.
$SharePoint.Project.FileNameWithoutExtension$ Nom du fichier de projet sans l’extension du nom de fichier. Par exemple, « NewProj ».
$SharePoint.Project.AssemblyFullName$ Nom d'affichage (nom fort) de l'assembly de sortie du projet contenant.
$SharePoint.Project.AssemblyFileName$ Nom de l'assembly de sortie pour le projet qui le contient.
$SharePoint.Project.AssemblyFileNameWithoutExtension$ Nom de l’assembly de sortie du projet conteneur, sans l’extension de nom de fichier.
$SharePoint.Project.AssemblyPublicKeyToken$ Le jeton de clé publique de l'assemblage de sortie du projet qui le contient, converti en chaîne. (16 caractères au format hexadécimal « x2 ».
$SharePoint.Package.Name$ Nom du package conteneur.
$SharePoint.Package.FileName$ Nom du fichier de définition du package contenant.
$SharePoint.Package.FileNameWithoutExtension$ Nom (sans extension) du fichier de définition du package contenant.
$SharePoint.Package.Id$ ID SharePoint pour le package conteneur. Si une fonctionnalité est utilisée dans plusieurs packages, cette valeur change.
$SharePoint.Feature.FileName$ Nom du fichier de définition de la fonctionnalité conteneur, par exemple Feature1.feature.
$SharePoint.Feature.FileNameWithoutExtension$ Nom du fichier de définition de fonctionnalité, sans l’extension de nom de fichier.
$SharePoint.Feature.DeploymentPath$ Nom du dossier qui contient la fonctionnalité dans le package. Ce jeton équivaut à la propriété « Deployment Path » dans le Concepteur de fonctionnalités. Un exemple de valeur est « Project1_Feature1 ».
$SharePoint.Feature.Id$ ID SharePoint de la fonctionnalité conteneur. Ce jeton, comme avec tous les jetons de niveau fonctionnalité, ne peut être utilisé que par les fichiers inclus dans un package via une fonctionnalité, et non ajouté directement à un package en dehors d’une fonctionnalité.
$SharePoint.ProjectItem.Name$ Nom de l’élément de projet (et non son nom de fichier), obtenu à partir de ISharePointProjectItem.Name.
$SharePoint.Type.<GUID>.AssemblyQualifiedName$ Nom qualifié de l’assembly du type correspondant au GUID du jeton. Le format du GUID est en minuscules et correspond au format Guid.ToString(« D ») (autrement dit, xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx).
$SharePoint.Type.<GUID>.FullName$ Nom complet du type correspondant au GUID dans le jeton. Le format du GUID est en minuscules et correspond au format Guid.ToString(« D ») (autrement dit, xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx).

Ajouter des extensions à la liste des extensions de fichier de remplacement de jetons

Bien que les jetons puissent théoriquement être utilisés par n’importe quel fichier appartenant à un élément de projet SharePoint inclus dans le package, par défaut, Visual Studio recherche des jetons uniquement dans les fichiers de package, les fichiers manifeste et les fichiers qui ont les extensions suivantes :

  • XML

  • ASCX

  • ASPX

  • Composant de WebPart

  • DWP

    Ces extensions sont définies par l’élément <TokenReplacementFileExtensions> du fichier Microsoft.VisualStudio.SharePoint.targets, situé dans le dossier ...\<program files>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools.

    Toutefois, vous pouvez ajouter des extensions de fichier supplémentaires à la liste. Ajoutez un élément <TokenReplacementFileExtensions> à n'importe quel PropertyGroup dans le fichier projet SharePoint défini avant l'<import> du fichier cible SharePoint.

Note

Étant donné que le remplacement des jetons se produit après la compilation d’un projet, vous ne devez pas ajouter d’extensions de fichier pour les types de fichiers compilés, tels que .cs, .vb ou .resx. Les jetons sont remplacés uniquement dans les fichiers qui ne sont pas compilés.

Par exemple, pour ajouter les extensions de nom de fichier (.myextension et .yourextension) à la liste des extensions de nom de fichier de remplacement de jeton, vous devez ajouter ce qui suit à un fichier de projet (.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>

Vous pouvez ajouter l’extension directement au fichier cibles (.targets). Toutefois, l’ajout de l’extension modifie la liste des extensions pour tous les projets SharePoint empaquetés sur le système local, pas seulement votre propre. Cette extension peut être pratique lorsque vous êtes le seul développeur sur le système ou si la plupart de vos projets en ont besoin. Toutefois, étant donné qu’elle est spécifique au système, cette approche n’est pas portable et, par conséquent, il est recommandé d’ajouter des extensions au fichier projet à la place.