Condividi tramite


utilità di sostituzione del token di chiave pubblica

Questa utilità può essere utilizzata per sostituire un token di chiave pubblica o una variabile in un file con un token di chiave pubblica derivato da un file di chiave assembly con nome sicuro (file con estensione snk).

Questa utilità potrebbe essere utile quando uno sviluppatore sta scrivendo uno script che usa il Command-Line BTSTask Command-Line Riferimento per distribuire un assembly. Perché la distribuzione possa essere eseguita correttamente, è necessario fornire il nome completo dell'assembly, nel quale è incluso il rispettivo token di chiave pubblica. Il token di chiave pubblica per un assembly viene estratto da un file con estensione snk e assegnato all'assembly quando viene creato. Prima di essere distribuito in un nuovo ambiente, tuttavia, l'assembly viene in genere ricreato utilizzando un token di chiave pubblica differente. È possibile quindi che lo sviluppatore non sappia quale token di chiave pubblica verrà utilizzato per l'assembly quando verrà eseguito lo script di distribuzione.

In questi casi è possibile utilizzare l'Utilità di sostituzione del token di chiave pubblica in due diversi modi:

  • Scenario 1. Nello script di distribuzione lo sviluppatore può utilizzare un token di chiave pubblica o un segnaposto che rappresenta il token. Prima di eseguire lo script un utente può eseguire l'Utilità di sostituzione del token di chiave pubblica per sostituire il token di chiave pubblica o il segnaposto nel file di script con il token di chiave pubblica estratto dal file con estensione snk utilizzato per creare l'assembly per l'ambiente di destinazione.

  • Scenario 2. Lo sviluppatore può configurare lo script per sostituire automaticamente il nuovo token di chiave pubblica, come indicato di seguito: All'inizio dello script, richiamare l'utilità Sostituisci token chiave pubblica e puntarla a un file con estensione snk contenente il token di chiave pubblica. All'interno dello script utilizzare la variabile di ambiente %NEWTOKEN% per rappresentare il token di chiave pubblica. Quando lo script viene eseguito, l'utilità estrae il valore del token di chiave pubblica dal file con estensione snk e lo imposta in una variabile di ambiente %NEWTOKEN%. Quando viene eseguito lo script, ogni istanza di %NEWTOKEN% verrà sostituita con il token di chiave pubblica estratto dal file SNK specificato. Ad esempio:

    ReplacePKT.bat key.snk  
    ...  
    ...  
    gacutil /u Assembly, ... PublicKey=%NEWTOKEN% ...  
    

Percorso in SDK

L'Utilità di sostituzione del token di chiave pubblica si trova in:

\Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\Utilities\ReplacePublicKeyToken\.

L'Utilità di sostituzione del token di chiave comprende tre file:

  • ReplacePKT.bat

  • ReplacePKT.vbs

  • ReplacePKT.wsf

Procedure

Utilizzare la procedura seguente per sostituire tutte le istanze di un token di chiave pubblica o di un segnaposto in un file con un token di chiave pubblica estratto da un file con estensione snk, come descritto nello scenario 1.

Per sostituire le istanze di un token di chiave pubblica o di un segnaposto in un file

  1. Verificare che i tre file dell'Utilità di sostituzione del token di chiave pubblica (ReplacePKT.bat, ReplacePKT.vbs, ReplacePKT.wsf), il file di script e il file con estensione snk siano tutti disponibili dal computer locale.

  2. In una finestra di comando passare alla directory della cartella contenente i file dell'Utilità di sostituzione del token di chiave pubblica.

  3. Al prompt dei comandi eseguire il comando seguente:

  4. ReplacePKT <File> < snktoken > <di chiave pubblica precedentefile da sostituire>

    Opzione Descrizione
    <File snk> Percorso completo del file con estensione snk contenente il token di chiave pubblica che si desidera sostituire al token di chiave pubblica esistente o al segnaposto.
    <token di chiave pubblica precedente> Token di chiave pubblica o segnaposto che si desidera sostituire.
    <file da sostituire> Percorso completo del file in cui si desidera sostituire il token di chiave pubblica o il segnaposto.

    Esempio:

    ReplacePKT.bat C:\Tokens\MyToken.snk 12ab3456cd789e12 C:\Scripts\MyScript.vbs

    Utilizzare la procedura seguente per impostare automaticamente una variabile di ambiente in uno script che utilizza un token di chiave pubblica derivato da un file con estensione snk, come descritto nello scenario 2.

Per impostare una variabile di ambiente che utilizza un token di chiave pubblica

  1. All'inizio del file di script aggiungere la riga di codice seguente:

    ReplacePKT <filename>.snk  
    

    Dove <nome file> è il nome del file con estensione snk da cui derivare il token di chiave pubblica.

    Example: ReplacePKT.bat MyToken.snk  
    
  2. Nel file di script usare %NEWTOKEN% per rappresentare il token di chiave pubblica.

    Esempio:

    PublicKey=%NEWTOKEN%  
    
  3. Quando si consegna il file di script agli utenti, includere i tre file che costituiscono l'Utilità di sostituzione del token di chiave pubblica (ReplacePKT.bat, ReplacePKT.vbs, ReplacePKT.wsf). Assicurarsi che gli utenti dello script copino tutti i file nella stessa cartella nel file system prima di eseguire lo script.

Vedere anche

Utilità incluse nell'SDK