Nahraditelné parametry
V souborech projektu je možné použít nahraditelné parametry nebo tokeny k zadání hodnot položek řešení SharePointu, jejichž skutečné hodnoty nejsou v době návrhu známé. Jsou podobné jako standardní tokeny šablony sady Visual Studio. Další informace najdete v tématu Parametry šablony.
Formát tokenu
Tokeny začínají a končí znakem dolaru ($). Při nasazení se všechny použité tokeny nahradí skutečnými hodnotami při zabalení projektu do balíčku řešení Služby SharePoint (soubor WSP ). Například token $SharePoint.Package.Name$ se může přeložit na řetězec Test sharepointového balíčku.
Pravidla tokenů
Následující pravidla platí pro tokeny:
Tokeny lze zadat kdekoli na řádku.
Tokeny nemohou přesahovat více řádků.
Stejný token může být zadán více než jednou na stejném řádku a ve stejném souboru.
Na stejném řádku mohou být zadány různé tokeny.
Tokeny, které nedodržují tato pravidla, jsou ignorovány a nemají za následek upozornění nebo chybu.
Nahrazení tokenů řetězcovými hodnotami se provádí okamžitě po transformaci manifestu. Toto nahrazení umožňuje uživateli upravovat šablony manifestu pomocí tokenů.
Překlad názvů tokenů
Ve většině případů se token překládá na konkrétní hodnotu bez ohledu na to, kde je obsažen. Pokud ale token souvisí s balíčkem nebo funkcí, hodnota tokenu závisí na tom, kde je obsažena. Pokud je například funkce v balíčku A, token $SharePoint.Package.Name$
se přeloží na hodnotu "Balíček A". Pokud je stejná funkce v balíčku B, přeloží $SharePoint.Package.Name$
se na "Balíček B".
Seznam tokenů
V následující tabulce jsou uvedeny dostupné tokeny.
Název | Popis |
---|---|
$SharePoint.Project.FileName$ | Název obsahujícího soubor projektu, například NewProj.csproj. |
$SharePoint.Project.FileNameWithoutExtension$ | Název obsahujícího souboru projektu bez přípony názvu souboru. Například NewProj. |
$SharePoint.Project.AssemblyFullName$ | Zobrazovaný název (silný název) výstupního sestavení projektu. |
$SharePoint.Project.AssemblyFileName$ | Název výstupního sestavení projektu. |
$SharePoint.Project.AssemblyFileNameWithoutExtension$ | Název výstupního sestavení projektu bez přípony názvu souboru. |
$SharePoint.Project.AssemblyPublicKeyToken$ | Token veřejného klíče výstupního sestavení projektu převedený na řetězec. (Šestnáctkový formát x2: 16 znaků.) |
$SharePoint.Package.Name$ | Název balíčku, který obsahuje. |
$SharePoint.Package.FileName$ | Název definičního souboru obsahujícího balíček. |
$SharePoint.Package.FileNameWithoutExtension$ | Název (bez přípony) definičního souboru obsahujícího balíčku. |
$SharePoint.Package.Id$ | ID SharePointu pro obsahující balíček. Pokud se funkce používá ve více než jednom balíčku, tato hodnota se změní. |
$SharePoint.Feature.FileName$ | Název definičního souboru obsahující funkce, například Feature1.feature. |
$SharePoint.Feature.FileNameWithoutExtension$ | Název definičního souboru funkce bez přípony názvu souboru. |
$SharePoint.Feature.DeploymentPath$ | Název složky, která obsahuje funkci v balíčku. Tento token odpovídá vlastnosti Cesta nasazení v Návrháři funkcí. Příkladem je "Project1_Feature1". |
$SharePoint.Feature.Id$ | ID SharePointu obsahující funkce. Tento token, stejně jako u všech tokenů na úrovni funkcí, lze použít pouze soubory zahrnuté v balíčku prostřednictvím funkce, které nejsou přidány přímo do balíčku mimo funkci. |
$SharePoint.ProjectItem.Name$ | Název položky projektu (nikoli její název souboru) získaný z ISharePointProjectItem.Name. |
$SharePoint.Type.<IDENTIFIKÁTOR GUID>. AssemblyQualifiedName$ | Kvalifikovaný název sestavení typu odpovídající identifikátoru GUID tokenu. Formát identifikátoru GUID je malými písmeny a odpovídá formátu Guid.ToString("D") (tj. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
$SharePoint.Type.<IDENTIFIKÁTOR GUID>. FullName$ | Úplný název typu odpovídající identifikátoru GUID v tokenu. Formát identifikátoru GUID je malými písmeny a odpovídá formátu Guid.ToString("D") (tj. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
Přidání rozšíření do seznamu přípon náhradních souborů tokenů
I když tokeny můžou teoreticky používat jakýkoli soubor, který patří k položce projektu SharePointu, která je součástí balíčku, ve výchozím nastavení Visual Studio vyhledá tokeny pouze v souborech balíčků, souborech manifestu a souborech, které mají následující přípony:
XML
ASCX
ASPX
Webpart
DWP
Tato rozšíření jsou definována
<TokenReplacementFileExtensions>
elementem v souboru Microsoft.VisualStudio.SharePoint.targets, který se nachází ve složce ...\<program files>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools.Do seznamu ale můžete přidat další přípony souborů.
<TokenReplacementFileExtensions>
Přidejte prvek do libovolné skupiny PropertyGroup v souboru projektu SharePointu, který je definován před <importem> souboru cíle služby SharePoint.
Poznámka:
Vzhledem k tomu, že nahrazení tokenu nastane po kompilaci projektu, neměli byste přidat přípony souborů pro typy souborů kompilované, například .cs, .vb nebo .resx. Tokeny jsou nahrazeny pouze v souborech, které nejsou kompilovány.
Chcete-li například přidat přípony názvů souborů (.myextension a .yourextension) do seznamu přípon názvů náhradních souborů tokenu, přidejte do souboru projektu (.csproj) následující:
<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>
Příponu můžete přidat přímo do souboru cílů (.targets). Přidáním rozšíření ale změníte seznam rozšíření pro všechny sharepointové projekty zabalené v místním systému, ne jenom vlastní. Toto rozšíření může být praktické, pokud jste jediným vývojářem v systému nebo pokud ho většina projektů vyžaduje. Vzhledem k tomu, že je to specifické pro systém, tento přístup není přenosný, a proto se doporučuje přidat do souboru projektu všechna rozšíření.