Compartilhar via


Parâmetros substituíveis

Parâmetros substituíveis, ou tokens, podem ser usados dentro de arquivos de projeto para fornecer valores para itens de solução do SharePoint cujos valores reais não são conhecidos em tempo de design. Eles são semelhantes em função aos tokens de modelo padrão do Visual Studio. Para obter mais informações, confira Parâmetros de modelo.

Formato do token

Os tokens começam e terminam com um caractere de cifrão ($). Na implantação, todos os tokens usados são substituídos por valores reais quando um projeto é empacotado em um pacote de solução do SharePoint (arquivo .wsp). Por exemplo, o token $SharePoint.Package.Name$ pode ser resolvido para a cadeia de caracteres "Testar Pacote do SharePoint".

Regras de token

As seguintes regras se aplicam a tokens:

  • Os tokens podem ser especificados em qualquer lugar de uma linha.

  • Os tokens não podem abranger várias linhas.

  • O mesmo token pode ser especificado mais de uma vez na mesma linha e no mesmo arquivo.

  • Tokens diferentes podem ser especificados na mesma linha.

    Os tokens que não seguem essas regras são ignorados e não resultam em um aviso ou erro.

    A substituição de tokens por valores de cadeia de caracteres é feita imediatamente após a transformação do manifesto. Essa substituição permite que o usuário edite os modelos de manifesto com tokens.

Resolução de nomes de token

Na maioria dos casos, um token é resolvido para um valor específico, independentemente de onde ele está contido. No entanto, se o token estiver relacionado a um pacote ou recurso, o valor do token dependerá de onde ele está contido. Por exemplo, se um recurso estiver no Pacote A, o token $SharePoint.Package.Name$ será resolvido para o valor "Pacote A". Se o mesmo recurso estiver no Pacote B, $SharePoint.Package.Name$ será resolvido para "Pacote B".

Lista de tokens

A tabela a seguir lista os tokens disponíveis.

Nome Descrição
$SharePoint.Project.FileName$ O nome do arquivo de projeto recipiente, como NewProj.csproj.
$SharePoint.Project.FileNameWithoutExtension$ O nome do arquivo de projeto recipiente sem a extensão de nome de arquivo. Por exemplo, "NewProj".
$SharePoint.Project.AssemblyFullName$ O nome de exibição (nome forte) do assembly de saída do projeto recipiente.
$SharePoint.Project.AssemblyFileName$ O nome do assembly de saída do projeto recipiente.
$SharePoint.Project.AssemblyFileNameWithoutExtension$ O nome do assembly de saída do projeto recipiente, sem a extensão de nome de arquivo.
$SharePoint.Project.AssemblyPublicKeyToken$ O token de chave pública do assembly de saída do projeto recipiente, convertido em uma cadeia de caracteres. (16 caracteres no formato hexadecimal "x2".)
$SharePoint.Package.Name$ O nome do pacote recipiente.
$SharePoint.Package.FileName$ O nome do arquivo de definição do pacote recipiente.
$SharePoint.Package.FileNameWithoutExtension$ O nome (sem extensão) do arquivo de definição do pacote recipiente.
$SharePoint.Package.Id$ A ID do SharePoint para o pacote recipiente. Se um recurso for usado em mais de um pacote, esse valor será alterado.
$SharePoint.Feature.FileName$ O nome do arquivo de definição do recurso recipiente, como Feature1.feature.
$SharePoint.Feature.FileNameWithoutExtension$ O nome do arquivo de definição de recurso, sem a extensão de nome de arquivo.
$SharePoint.Feature.DeploymentPath$ O nome da pasta que contém o recurso no pacote. Esse token equivale à propriedade "Caminho de Implantação" no Designer de Recursos. Um valor de exemplo é "Project1_Feature1".
$SharePoint.Feature.Id$ A ID do SharePoint do recurso recipiente. Esse token, como acontece com todos os tokens de nível de recurso, só pode ser usado por arquivos incluídos em um pacote por meio de um recurso, não adicionado diretamente a um pacote fora de um recurso.
$SharePoint.ProjectItem.Name$ O nome do item de projeto (não seu nome de arquivo), conforme obtido de ISharePointProjectItem.Name.
$SharePoint.Type.<GUID>.AssemblyQualifiedName$ O nome qualificado do assembly do tipo que corresponde ao GUID do token. O formato do GUID é minúsculo e corresponde ao formato Guid.ToString("D") (ou seja, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
$SharePoint.Type.<GUID>.FullName$ O nome completo do tipo que corresponde ao GUID no token. O formato do GUID é minúsculo e corresponde ao formato Guid.ToString("D") (ou seja, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

Adicionar extensões à lista de extensões de arquivo de substituição de token

Embora os tokens possam teoricamente ser usados por qualquer arquivo que pertença a um item de projeto do SharePoint incluído no pacote, por padrão, o Visual Studio pesquisa tokens somente em arquivos de pacote, arquivos de manifesto e arquivos que têm as seguintes extensões:

  • XML

  • ASCX

  • ASPX

  • Webpart

  • DWP

    Essas extensões são definidas pelo elemento <TokenReplacementFileExtensions> no arquivo Microsoft.VisualStudio.SharePoint.targets, localizado na pasta ...\<arquivos de programas>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools.

    No entanto, você pode adicionar extensões de arquivo adicionais à lista. Adicione um elemento <TokenReplacementFileExtensions> a qualquer PropertyGroup no arquivo de projeto do SharePoint definido antes da <Importação> do arquivo de destinos do SharePoint.

Observação

Como a substituição de token ocorre depois que um projeto é compilado, você não deve adicionar extensões de arquivo para tipos de arquivo compilados, como .cs, .vb ou .resx. Os tokens são substituídos apenas em arquivos que não são compilados.

Por exemplo, para adicionar as extensões de nome de arquivo (.myextension e .yourextension) à lista de extensões de nome de arquivo de substituição de token, adicione o seguinte a um arquivo de projeto (.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>

Você pode adicionar a extensão diretamente ao arquivo de destinos (.targets). No entanto, adicionar a extensão altera a lista de extensões para todos os projetos do SharePoint empacotados no sistema local, não apenas os seus. Essa extensão pode ser conveniente quando você é o único desenvolvedor no sistema ou se a maioria dos seus projetos a exige. No entanto, como é específica do sistema, essa abordagem não é portátil e, portanto, em vez disso, é recomendável adicionar extensões ao arquivo de projeto.