Udostępnij przez


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 tokenów

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ć zamieniony na ciąg "Test SharePoint Package".

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 na wartości ciągów 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, token $SharePoint.Package.Name$ jest rozpoznawany jako wartość "Pakiet B".

Lista tokenów

W poniższej tabeli wymieniono dostępne tokeny.

Name Description
$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 projektu, 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 SharePoint dla zawierającego pakietu. 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 Projektancie 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$ Nazwa kwalifikowana zestawu typu, który odpowiada identyfikatorowi GUID tokenu. Format identyfikatora GUID ma małe litery i odpowiada formatowi Guid.ToString("D") (czyli xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
$SharePoint.Type.<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).

Dodaj rozszerzenia do listy rozszerzeń plików zamiany tokenów

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:

  • XML

  • ASCX

  • ASPX

  • Web Part

  • 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. Dodaj element <TokenReplacementFileExtensions> do dowolnej grupy właściwości w pliku projektu SharePoint, zdefiniowanym przed importem pliku docelowego SharePoint<>.

Uwaga / Notatka

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.