Paramètres remplaçables
Les paramètres remplaçables, ou jetons, peuvent être utilisés dans les fichiers projet pour fournir des valeurs aux éléments de la solution SharePoint dont les valeurs réelles ne sont pas connues au moment de la conception. Leur fonction est similaire à celle des jetons de modèle Visual Studio standard. Pour plus d’informations, consultez Paramètres de modèle.
Format de jeton
Les jetons commencent et se terminent par le signe du 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 jeton
Les règles suivantes s’appliquent également aux jetons :
Les jetons peuvent être spécifiés n’importe où dans une ligne.
Les jetons ne peuvent pas s’étendre 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 respectent 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 jetons
Dans la plupart des cas, un jeton est résolu en une valeur spécifique, quel que soit l’endroit où il est contenu. 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, $SharePoint.Package.Name$
est résolue en « Package B ».
Liste des jetons
Le tableau suivant répertorie les jetons disponibles.
Nom | Description |
---|---|
$SharePoint.Project.FileName$ | Nom du fichier projet contenant, par exemple , NewProj.csproj. |
$SharePoint.Project.FileNameWithoutExtension$ | Nom du fichier contenant le fichier projet sans l’extension de 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 du projet contenant. |
$SharePoint.Project.AssemblyFileNameWithoutExtension$ | Nom de l’assembly de sortie du projet contenant, sans l’extension de nom de fichier. |
$SharePoint.Project.AssemblyPublicKeyToken$ | Jeton de clé publique de l’assembly de sortie du projet contenant, converti en chaîne. (16 caractères au format hexadécimal « x2 ».) |
$SharePoint.Package.Name$ | Nom du package contenant |
$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 contenant. Si une fonctionnalité est utilisée dans plusieurs packages, cette valeur change. |
$SharePoint.Feature.FileName$ | Nom du fichier de définition de la fonctionnalité contenant, 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é « Chemin de déploiement » dans le concepteur de fonctionnalités. Un exemple de valeur est « Project1_Feature1 ». |
$SharePoint.Feature.Id$ | ID SharePoint de la fonctionnalité contenant. Ce jeton, comme tous les jetons de niveau fonctionnalité, peut être utilisé uniquement par les fichiers inclus dans un package via une fonctionnalité, et non ajoutés directement à un package en dehors d’une fonctionnalité. |
$SharePoint.ProjectItem.Name$ | Nom de l’élément de projet (et non son nom de fichier), tel qu’obtenu à partir de ISharePointProjectItem.Name. |
$SharePoint.Type.<GUID>.AssemblyQualifiedName$ | Nom qualifié d’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-xxxxxxxxxxxx). |
$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-xxxxxxxxxxxx). |
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 qui appartient à un élément de projet SharePoint inclus dans le package, par défaut, Visual Studio recherche les jetons uniquement dans les fichiers de package, les fichiers manifeste et les fichiers qui ont les extensions suivantes :
XML
ASCX
ASPX
Webpart
DWP
Ces extensions sont définies par l’élément
<TokenReplacementFileExtensions>
dans le 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’<importation> du fichier de cibles SharePoint.
Notes
Étant donné que le remplacement de jetons se produit après la compilation d’un projet, vous ne devez pas ajouter d’extensions de fichiers 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 noms de fichiers (.myextension et .yourextension) à la liste des extensions de noms de fichiers de remplacement de jetons, vous devez ajouter les éléments suivants à 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 de 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 le vôtre. 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 propre au système, cette approche n’est pas portable et, par conséquent, il est recommandé d’ajouter toutes les extensions au fichier projet à la place.