Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ersetzbare Parameter oder Token können in Projektdateien verwendet werden, um Werte für SharePoint-Lösungselemente bereitzustellen, deren tatsächliche Werte zur Entwurfszeit nicht bekannt sind. Sie sind ähnlich wie die standardmäßigen Visual Studio-Vorlagentoken. Weitere Informationen finden Sie unter Vorlagenparameter.
Token-Format
Token beginnen und enden mit einem Dollarzeichen ($). Bei der Bereitstellung werden alle verwendeten Token durch tatsächliche Werte ersetzt, wenn ein Projekt in ein SharePoint-Lösungspaket (WSP-Datei ) verpackt wird. Beispielsweise kann das Token $SharePoint.Package.Name$ in die Zeichenfolge "SharePoint-Paket testen" aufgelöst werden.
Tokenregeln
Die folgenden Regeln gelten für Token:
Token können an einer beliebigen Stelle in einer Zeile angegeben werden.
Token können nicht mehrere Zeilen umfassen.
Dasselbe Token kann in derselben Zeile und in derselben Datei mehrmals angegeben werden.
In derselben Zeile können unterschiedliche Token angegeben werden.
Token, die diesen Regeln nicht folgen, werden ignoriert und führen nicht zu einer Warnung oder einem Fehler.
Die Ersetzung von Token durch Zeichenfolgenwerte erfolgt unmittelbar nach der Manifesttransformation. Dieser Ersatz ermöglicht es dem Benutzer, die Manifestvorlagen mit Token zu bearbeiten.
Token-Namenauflösung
In den meisten Fällen wird ein Token unabhängig davon, wo es enthalten ist, zu einem bestimmten Wert aufgelöst. Wenn das Token jedoch mit einem Paket oder Feature verknüpft ist, hängt der Wert des Tokens davon ab, wo es enthalten ist. Wenn sich beispielsweise ein Feature in Paket A befindet, wird das Token $SharePoint.Package.Name$ in den Wert "Package A" aufgelöst. Wenn sich das gleiche Feature in Paket B befindet, $SharePoint.Package.Name$ wird das Feature in "Paket B" aufgelöst.
Tokenliste
In der folgenden Tabelle sind die verfügbaren Token aufgeführt.
| Name | Description |
|---|---|
| $SharePoint.Project.FileName$ | Der Name der enthaltenden Projektdatei, z. B. NewProj.csproj. |
| $SharePoint.Project.FileNameWithoutExtension$ | Der Name der enthaltenden Projektdatei ohne Dateinamenerweiterung. Beispiel: "NewProj". |
| $SharePoint.Project.AssemblyFullName$ | Der Anzeigename (Strong-Name) der Ausgabe-Assembly des Projekts. |
| $SharePoint.Project.AssemblyFileName$ | Der Name der Ausgabedatei des Projekts. |
| $SharePoint.Project.AssemblyFileNameWithoutExtension$ | Der Name des Ausgabe-Assembly des Projekts ohne Dateinamenerweiterung. |
| $SharePoint.Project.AssemblyPublicKeyToken$ | Das öffentliche Schlüsseltoken der Ausgabebaugruppe des enthaltenen Projekts, konvertiert in eine Zeichenfolge. (16 Zeichen im Hexadezimalformat "x2".) |
| $SharePoint.Package.Name$ | Der Name des enthaltenden Pakets. |
| $SharePoint.Package.FileName$ | Der Name der Definitionsdatei des enthaltenden Pakets. |
| $SharePoint.Package.FileNameWithoutExtension$ | Der Name (ohne Erweiterung) der Definitionsdatei des enthaltenden Pakets. |
| $SharePoint.Package.Id$ | Die SharePoint-ID für das enthaltende Paket. Wenn ein Feature in mehreren Paketen verwendet wird, ändert sich dieser Wert. |
| $SharePoint.Feature.FileName$ | Der Name der Definitionsdatei des enthaltenden Features, z. B. Feature1.feature. |
| $SharePoint.Feature.FileNameWithoutExtension$ | Der Name der Featuredefinitionsdatei, ohne die Dateinamenerweiterung. |
| $SharePoint.Feature.DeploymentPath$ | Der Name des Ordners, der das Feature im Paket enthält. Dieses Token entspricht der Eigenschaft "Deployment Path" im Feature-Designer. Ein Beispielwert ist "Project1_Feature1". |
| $SharePoint.Feature.Id$ | Die SharePoint-ID des enthaltenden Features. Dieses Token kann wie bei allen Token auf Featureebene nur von Dateien verwendet werden, die in einem Paket über ein Feature enthalten sind und nicht direkt zu einem Paket außerhalb eines Features hinzugefügt werden. |
| $SharePoint.ProjectItem.Name$ | Der Name des Projektelements (nicht der Dateiname), wie aus ISharePointProjectItem.Name abgerufen. |
| $SharePoint.Type.<GUID>.AssemblyQualifiedName$ | Der assembly-qualifizierte Name des Typs, der der GUID des Tokens entspricht. Das Format der GUID ist Kleinbuchstaben und entspricht dem Guid.ToString("D")-Format (d. h. xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx). |
| $SharePoint.Type.<GUID>.FullName$ | Der vollständige Name des Typs, der der GUID im Token entspricht. Das Format der GUID ist Kleinbuchstaben und entspricht dem Guid.ToString("D")-Format (d. h. xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx). |
Hinzufügen von Erweiterungen zur Liste der Tokenersetzungsdateierweiterungen
Obwohl Token theoretisch von jeder Datei verwendet werden können, die zu einem SharePoint-Projektelement gehört, das im Paket enthalten ist, sucht Visual Studio standardmäßig nur in Paketdateien, Manifestdateien und Dateien mit den folgenden Erweiterungen nach Token:
XML
ASCX
ASPX
Webpart
DWP
Diese Erweiterungen werden durch das
<TokenReplacementFileExtensions>Element in der Datei "Microsoft.VisualStudio.SharePoint.targets" definiert, die sich im Ordner "...\<program files>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools" befindet.Sie können der Liste jedoch zusätzliche Dateierweiterungen hinzufügen. Fügen Sie einer beliebigen PropertyGroup in der SharePoint-Projektdatei ein
<TokenReplacementFileExtensions>Element hinzu, das vor dem <Import> der SharePoint-Targets-Datei definiert ist.
Hinweis
Da die Tokenersetzung auftritt, nachdem ein Projekt kompiliert wurde, sollten Sie keine Dateierweiterungen für dateitypen hinzufügen, die kompiliert werden, z. B. .cs, .vb oder RESX. Token werden nur in Dateien ersetzt, die nicht kompiliert werden.
Wenn Sie beispielsweise die Dateinamenerweiterungen (MYEXTENSION und YOUREXTENSION) zur Liste der Dateinamenerweiterungen für den Tokenersatz hinzufügen möchten, fügen Sie folgendes zu einer Projektdatei (CSPROJ)-Datei hinzu:
<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>
Sie können die Erweiterung direkt zur Zieldatei (.targets) hinzufügen. Das Hinzufügen der Erweiterung ändert jedoch die Erweiterungsliste für alle SharePoint-Projekte, die auf dem lokalen System verpackt sind, nicht nur Ihre eigenen. Diese Erweiterung kann praktisch sein, wenn Sie der einzige Entwickler auf dem System sind oder wenn die meisten Ihrer Projekte dies erfordern. Da es jedoch systemspezifisch ist, ist dieser Ansatz nicht portierbar und daher wird empfohlen, stattdessen Erweiterungen zur Projektdatei hinzuzufügen.