Dela via


Ersättningsbara parametrar

Ersättningsbara parametrar, eller token, kan användas i projektfiler för att ange värden för SharePoint-lösningsobjekt vars faktiska värden inte är kända vid designtillfället. De liknar standardtoken för Visual Studio-mallar i funktion. Mer information finns i Mallparametrar.

Tokenformat

Token börjar och slutar med ett dollartecken ($). Vid distribution ersätts alla token som används med faktiska värden när ett projekt paketeras i ett SharePoint-lösningspaket (.wsp-fil ). Token $SharePoint.Package.Name$ kan till exempel matcha till strängen "Test SharePoint Package".

Tokenregler

Följande regler gäller för token:

  • Token kan anges var som helst på en rad.

  • Token kan inte sträcka sig över flera rader.

  • Samma token kan anges mer än en gång på samma rad och i samma fil.

  • Olika token kan anges på samma rad.

    Token som inte följer dessa regler ignoreras och resulterar inte i en varning eller ett fel.

    Bytet av token med strängvärden görs omedelbart efter manifesttransformeringen. Med den här ersättningen kan användaren redigera manifestmallarna med token.

Upplösning av tokennamn

I de flesta fall matchas en token till ett specifikt värde oavsett var den finns. Men om token är relaterad till ett paket eller en funktion beror tokens värde på var den finns. Om en funktion till exempel finns i Paket A matchas token $SharePoint.Package.Name$ till värdet "Paket A". Om samma funktion finns i paket B matchas $SharePoint.Package.Name$ till "Paket B".

Lista över token

I följande tabell visas tillgängliga token.

Namn Description
$SharePoint.Project.FileName$ Namnet på den innehållande projektfilen, till exempel NewProj.csproj.
$SharePoint.Project.FileNameWithoutExtension$ Namnet på den innehållande projektfilen utan filnamnstillägget. Till exempel "NewProj".
$SharePoint.Project.AssemblyFullName$ Visningsnamnet (starkt namn) för det innehållande projektets utdatasammansättning.
$SharePoint.Project.AssemblyFileName$ Namnet på det innehållande projektets utdatasammansättning.
$SharePoint.Project.AssemblyFileNameWithoutExtension$ Namnet på det innehållande projektets utdatasammansättning, utan filnamnstillägget.
$SharePoint.Project.AssemblyPublicKeyToken$ Den offentliga nyckeltoken för det innehållande projektets utdatasammansättning, konverterad till en sträng. (16 tecken i hexadecimalt format.)
$SharePoint.Package.Name$ Namnet på det innehållande paketet.
$SharePoint.Package.FileName$ Namnet på det innehållande paketets definitionsfil.
$SharePoint.Package.FileNameWithoutExtension$ Namnet (utan tillägg) på det innehållande paketets definitionsfil.
$SharePoint.Package.Id$ SharePoint-ID:t för det innehållande paketet. Om en funktion används i mer än ett paket ändras det här värdet.
$SharePoint.Feature.FileName$ Namnet på definitionsfilen för den innehållande funktionen, till exempel Feature1.feature.
$SharePoint.Feature.FileNameWithoutExtension$ Namnet på funktionsdefinitionsfilen utan filnamnstillägget.
$SharePoint.Feature.DeploymentPath$ Namnet på mappen som innehåller funktionen i paketet. Detta token motsvarar egenskapen "Distributionssökväg" i Funktionsdesignern. Ett exempelvärde är "Project1_Feature1".
$SharePoint.Feature.Id$ SharePoint-ID för den innehållande funktionen. Den här token, precis som med alla token på funktionsnivå, kan endast användas av filer som ingår i ett paket via en funktion, inte läggs till direkt i ett paket utanför en funktion.
$SharePoint.ProjectItem.Name$ Namnet på projektobjektet (inte dess filnamn), som hämtats från ISharePointProjectItem.Name.
$SharePoint.Type.<GUID>.AssemblyQualifiedName$ Det sammansättningskvalificerade namnet för den typ som matchar tokenens GUID. Formatet för GUID är gemener och motsvarar formatet Guid.ToString("D") (dvs. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
$SharePoint.Type.<GUID>.FullName$ Det fullständiga namnet på den typ som matchar GUID i token. Formatet för GUID är gemener och motsvarar formatet Guid.ToString("D") (dvs. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

Lägga till tillägg i listan med filnamnstillägg för tokenbyte

Även om token teoretiskt sett kan användas av alla filer som tillhör ett SharePoint-projektobjekt som ingår i paketet, söker Visual Studio som standard endast efter token i paketfiler, manifestfiler och filer som har följande tillägg:

  • XML

  • ASCX

  • ASPX

  • Webbkomponent

  • DWP

    Dessa tillägg definieras av elementet <TokenReplacementFileExtensions> i filen Microsoft.VisualStudio.SharePoint.targets, som finns i mappen ...\<program files>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools.

    Du kan dock lägga till ytterligare filnamnstillägg i listan. Lägg till ett <TokenReplacementFileExtensions> element i valfri PropertyGroup i SharePoint-projektfilen som definieras före <import> av SharePoint-målfilen.

Anmärkning

Eftersom tokenbyte sker när ett projekt har kompilerats bör du inte lägga till filnamnstillägg för filtyper som kompileras, till exempel .cs, .vb eller .resx. Token ersätts endast i filer som inte kompileras.

Om du till exempel vill lägga till filnamnstilläggen (.myextension och .yourextension) i listan över filnamnstillägg för tokenersättning lägger du till följande i en projektfil (.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>

Du kan lägga till tillägget direkt i målfilen (.targets). Om du lägger till tillägget ändras dock tilläggslistan för alla SharePoint-projekt som paketeras i det lokala systemet, inte bara dina egna. Det här tillägget kan vara praktiskt när du är den enda utvecklaren i systemet eller om de flesta av dina projekt kräver det. Men eftersom det är systemspecifikt är den här metoden inte portabel, och därför rekommenderar vi att du lägger till eventuella tillägg i projektfilen i stället.