Condividi tramite


Parametri sostituibili

I parametri sostituibili o i token possono essere usati all'interno dei file di progetto per fornire valori per gli elementi della soluzione SharePoint i cui valori effettivi non sono noti in fase di progettazione. Sono simili in funzione ai token di modello standard di Visual Studio. Per altre informazioni, vedere Parametri del modello.

Formato token

I token iniziano e terminano con un simbolo di dollaro ($). Durante la distribuzione, tutti i token usati vengono sostituiti con valori effettivi quando un progetto viene inserito in un pacchetto di soluzione SharePoint (file con estensione wsp ). Ad esempio, il token $SharePoint.Package.Name$ potrebbe risolversi nella stringa "Test pacchetto SharePoint".

Regole del token

Le regole seguenti si applicano ai token:

  • I token possono essere specificati ovunque in una riga.

  • I token non possono estendersi su più righe.

  • Lo stesso token può essere specificato più volte nella stessa riga e nello stesso file.

  • È possibile specificare token diversi nella stessa riga.

    I token che non seguono queste regole vengono ignorati e non generano un avviso o un errore.

    La sostituzione dei token in base ai valori stringa viene eseguita immediatamente dopo la trasformazione del manifesto. Questa sostituzione consente all'utente di modificare i modelli di manifesto con token.

Risoluzione dei nomi dei token

Nella maggior parte dei casi, un token viene risolto in un valore specifico indipendentemente dalla posizione in cui è contenuta. Tuttavia, se il token è correlato a un pacchetto o a una funzionalità, il valore del token dipende dalla posizione in cui è contenuta. Ad esempio, se una funzionalità si trova nel pacchetto A, il token $SharePoint.Package.Name$ viene risolto con il valore "Package A". Se la stessa funzionalità si trova nel pacchetto B, viene $SharePoint.Package.Name$ risolta in "Pacchetto B".

Elenco di token

Nella tabella seguente sono elencati i token disponibili.

Nome Descrizione
$SharePoint.Project.FileName$ Nome del file di progetto contenitore, ad esempio NewProj.csproj.
$SharePoint.Project.FileNameWithoutExtension$ Nome del file di progetto contenitore senza l'estensione del nome file. Ad esempio, "NewProj".
$SharePoint.Project.AssemblyFullName$ Nome visualizzato (nome sicuro) dell'assembly di output del progetto contenitore.
$SharePoint.Project.AssemblyFileName$ Nome dell'assembly di output del progetto contenitore.
$SharePoint.Project.AssemblyFileNameWithoutExtension$ Nome dell'assembly di output del progetto contenitore, senza l'estensione del nome file.
$SharePoint.Project.AssemblyPublicKeyToken$ Token di chiave pubblica dell'assembly di output del progetto contenitore, convertito in una stringa. (16 caratteri in formato esadecimale "x2".
$SharePoint.Package.Name$ Nome del pacchetto contenitore.
$SharePoint.Package.FileName$ Nome del file di definizione del pacchetto contenitore.
$SharePoint.Package.FileNameWithoutExtension$ Nome (senza estensione) del file di definizione del pacchetto contenitore.
$SharePoint.Package.Id$ ID di SharePoint per il pacchetto contenitore. Se una funzionalità viene usata in più pacchetti, questo valore cambierà.
$SharePoint.Feature.FileName$ Nome del file di definizione della funzionalità contenitore, ad esempio Feature1.feature.
$SharePoint.Feature.FileNameWithoutExtension$ Nome del file di definizione della funzionalità, senza l'estensione del nome file.
$SharePoint.Feature.DeploymentPath$ Nome della cartella che contiene la funzionalità nel pacchetto. Questo token equivale alla proprietà "Percorso di distribuzione" in Progettazione funzionalità. Un valore di esempio è "Project1_Feature1".
$SharePoint.Feature.Id$ ID SharePoint della funzionalità contenitore. Questo token, come per tutti i token a livello di funzionalità, può essere usato solo dai file inclusi in un pacchetto tramite una funzionalità, non aggiunti direttamente a un pacchetto all'esterno di una funzionalità.
$SharePoint.ProjectItem.Name$ Nome dell'elemento del progetto (non nome file), ottenuto da ISharePointProjectItem.Name.
$SharePoint.Type.<GUID>. AssemblyQualifiedName$ Nome completo dell'assembly del tipo corrispondente al GUID del token. Il formato del GUID è minuscolo e corrisponde al formato Guid.ToString("D"), ovvero xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
$SharePoint.Type.<GUID>. FullName$ Nome completo del tipo corrispondente al GUID nel token. Il formato del GUID è minuscolo e corrisponde al formato Guid.ToString("D"), ovvero xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

Aggiungere estensioni all'elenco delle estensioni del file sostitutivo del token

Anche se i token possono essere usati teoricamente da qualsiasi file appartenente a un elemento di progetto di SharePoint incluso nel pacchetto, per impostazione predefinita, Visual Studio cerca i token solo nei file di pacchetto, nei file manifesto e nei file con le estensioni seguenti:

  • XML

  • ASCX

  • ASPX

  • Webpart

  • DWP

    Queste estensioni sono definite dall'elemento <TokenReplacementFileExtensions> nel file Microsoft.VisualStudio.SharePoint.targets, che si trova nella cartella ...\<programmi>\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools.

    È tuttavia possibile aggiungere altre estensioni di file all'elenco. Aggiungere un <TokenReplacementFileExtensions> elemento a qualsiasi PropertyGroup nel file di progetto di SharePoint definito prima dell'importazione> <del file di destinazioni di SharePoint.

Nota

Poiché la sostituzione dei token viene eseguita dopo la compilazione di un progetto, non è consigliabile aggiungere estensioni di file per i tipi di file compilati, ad esempio cs, vb o resx. I token vengono sostituiti solo nei file non compilati.

Ad esempio, per aggiungere le estensioni di file (con estensione myextension e yourextension) all'elenco delle estensioni del nome file di sostituzione dei token, aggiungere il codice seguente a un file di progetto (con estensione 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>

È possibile aggiungere l'estensione direttamente al file di destinazioni (con estensione targets). Tuttavia, l'aggiunta dell'estensione modifica l'elenco delle estensioni per tutti i progetti di SharePoint inseriti nel sistema locale, non solo il proprio. Questa estensione può essere utile quando si è l'unico sviluppatore nel sistema o se la maggior parte dei progetti lo richiede. Tuttavia, poiché è specifico del sistema, questo approccio non è portabile e pertanto è consigliabile aggiungere eventuali estensioni al file di progetto.