Parametry możliwe do zastąpienia
Możliwe do zastąpienia parametry lub tokeny mogą być używane wewnątrz plików projektu, aby podać wartości elementów rozwiązania SharePoint, których rzeczywiste wartości nie są znane w czasie projektowania. Są one podobne do standardowych tokenów szablonów programu Visual Studio. Aby uzyskać więcej informacji, zobacz Parametry szablonu.
Format tokenu
Tokeny zaczynają się i kończą znakiem dolara ($). Podczas wdrażania wszystkie używane tokeny są zastępowane rzeczywistymi wartościami, gdy projekt jest spakowany do pakietu rozwiązania programu SharePoint (plik wsp ). Na przykład token $SharePoint.Package.Name$ może zostać rozpoznany jako ciąg "Testowy pakiet programu SharePoint".
Reguły tokenów
Następujące reguły dotyczą tokenów:
Tokeny można określić w dowolnym miejscu w wierszu.
Tokeny nie mogą obejmować wielu wierszy.
Ten sam token można określić więcej niż raz w tym samym wierszu i w tym samym pliku.
W tym samym wierszu można określić różne tokeny.
Tokeny, które nie są zgodne z tymi regułami, są ignorowane i nie powodują ostrzeżenia ani błędu.
Zamiana tokenów według wartości ciągu odbywa się natychmiast po przekształceniu manifestu. To zastąpienie umożliwia użytkownikowi edytowanie szablonów manifestu przy użyciu tokenów.
Rozpoznawanie nazw tokenów
W większości przypadków token jest rozpoznawany jako określona wartość niezależnie od tego, gdzie jest zawarty. Jeśli jednak token jest powiązany z pakietem lub funkcją, wartość tokenu zależy od tego, gdzie jest zawarty. Jeśli na przykład funkcja znajduje się w pakiecie A, token $SharePoint.Package.Name$
jest rozpoznawany jako wartość "Pakiet A". Jeśli ta sama funkcja znajduje się w pakiecie B, zostanie rozpoznana $SharePoint.Package.Name$
wartość "Pakiet B".
Lista tokenów
W poniższej tabeli wymieniono dostępne tokeny.
Nazwa/nazwisko | opis |
---|---|
$SharePoint.Project.FileName$ | Nazwa pliku zawierającego projekt, na przykład NewProj.csproj. |
$SharePoint.Project.FileNameWithoutExtension$ | Nazwa pliku zawierającego projekt bez rozszerzenia nazwy pliku. Na przykład "NewProj". |
$SharePoint.Project.AssemblyFullName$ | Nazwa wyświetlana (silna nazwa) zestawu wyjściowego zawierającego projekt. |
$SharePoint.Project.AssemblyFileName$ | Nazwa zestawu wyjściowego zawierającego projekt. |
$SharePoint.Project.AssemblyFileNameWithoutExtension$ | Nazwa zestawu wyjściowego zawierającego projekt bez rozszerzenia nazwy pliku. |
$SharePoint.Project.AssemblyPublicKeyToken$ | Token klucza publicznego zestawu wyjściowego zawierającego projekt przekonwertowany na ciąg. (16 znaków w formacie szesnastkowym x2). |
$SharePoint.Package.Name$ | Nazwa zawierającego pakietu. |
$SharePoint.Package.FileName$ | Nazwa pliku definicji zawierającego pakiet. |
$SharePoint.Package.FileNameWithoutExtension$ | Nazwa (bez rozszerzenia) pliku definicji zawierającego pakiet. |
$SharePoint.Package.Id$ | Identyfikator programu SharePoint dla pakietu zawierającego. Jeśli funkcja jest używana w więcej niż jednym pakiecie, ta wartość ulegnie zmianie. |
$SharePoint.Feature.FileName$ | Nazwa pliku definicji zawierającej funkcję, na przykład Feature1.feature. |
$SharePoint.Feature.FileNameWithoutExtension$ | Nazwa pliku definicji funkcji bez rozszerzenia nazwy pliku. |
$SharePoint.Feature.DeploymentPath$ | Nazwa folderu, który zawiera funkcję w pakiecie. Ten token odpowiada właściwości "Ścieżka wdrożenia" w Projektant funkcji. Przykładową wartością jest "Project1_Feature1". |
$SharePoint.Feature.Id$ | Identyfikator programu SharePoint zawierającej funkcję. Ten token, podobnie jak w przypadku wszystkich tokenów na poziomie funkcji, może być używany tylko przez pliki zawarte w pakiecie za pośrednictwem funkcji, a nie dodawane bezpośrednio do pakietu poza funkcją. |
$SharePoint.ProjectItem.Name$ | Nazwa elementu projektu (a nie jego nazwa pliku) uzyskana z ISharePointProjectItem.Name. |
$SharePoint.Type.<Identyfikator GUID>. AssemblyQualifiedName$ | Kwalifikowana nazwa zestawu typu pasującego do identyfikatora GUID tokenu. Format identyfikatora GUID ma małe litery i odpowiada formatowi Guid.ToString("D") (czyli xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
$SharePoint.Type.<Identyfikator GUID>. FullName$ | Pełna nazwa typu pasującego do identyfikatora GUID w tokenie. Format identyfikatora GUID ma małe litery i odpowiada formatowi Guid.ToString("D") (czyli xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). |
Dodawanie rozszerzeń do listy rozszerzeń plików zastępczych tokenu
Chociaż tokeny mogą być teoretycznie używane przez dowolny plik należący do elementu projektu programu SharePoint zawartego w pakiecie, domyślnie program Visual Studio wyszukuje tokeny tylko w plikach pakietów, plikach manifestu i plikach, które mają następujące rozszerzenia:
Kod XML
ASCX
ASPX
Webpart
DWP
Te rozszerzenia są definiowane przez
<TokenReplacementFileExtensions>
element w pliku Microsoft.VisualStudio.SharePoint.targets znajdującym się w folderze ...\<program files>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools.Można jednak dodać do listy dodatkowe rozszerzenia plików.
<TokenReplacementFileExtensions>
Dodaj element do dowolnej grupy właściwości w pliku projektu programu SharePoint zdefiniowanym przed importem <> pliku obiektów docelowych programu SharePoint.
Uwaga
Ponieważ zastąpienie tokenu występuje po skompilowaniu projektu, nie należy dodawać rozszerzeń plików dla typów plików, które są kompilowane, takich jak .cs, .vb lub resx. Tokeny są zastępowane tylko w plikach, które nie są kompilowane.
Aby na przykład dodać rozszerzenia nazw plików (.myextension i .yourextension) do listy rozszerzeń nazwy pliku zastępczego tokenu, należy dodać następujące rozszerzenia do pliku projektu (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>
Rozszerzenie można dodać bezpośrednio do pliku targets (.targets). Jednak dodanie rozszerzenia zmienia listę rozszerzeń dla wszystkich projektów programu SharePoint spakowanych w systemie lokalnym, a nie tylko własnych. To rozszerzenie może być wygodne, gdy jesteś jedynym deweloperem w systemie lub jeśli większość projektów tego wymaga. Jednak ze względu na to, że jest on specyficzny dla systemu, to podejście nie jest przenośne, dlatego zaleca się dodanie jakichkolwiek rozszerzeń do pliku projektu.