Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questo articolo è specifico per .NET Framework. Non si applica alle implementazioni più recenti di .NET, tra cui .NET 6 e versioni successive.
I fornitori di assembly possono dichiarare che le applicazioni devono usare una versione più recente di un assembly includendo un file di criteri dell'editore con l'assembly aggiornato. Il file dei criteri dell'editore specifica il reindirizzamento dell'assembly e le impostazioni della codebase e usa lo stesso formato di un file di configurazione dell'applicazione. Il file dei criteri dell'editore viene compilato in un assembly e inserito nella Global Assembly Cache.
La creazione di un criterio di pubblicazione prevede tre passaggi:
Creare un file di criteri dell'editore.
Creare un assembly dei criteri di pubblicazione.
Aggiungere l'assembly dei criteri di pubblicazione alla Global Assembly Cache.
Lo schema per i criteri di pubblicazione è descritto in Reindirizzamento delle versioni degli assembly. Nell'esempio seguente viene illustrato un file di criteri dell'editore che reindirizza una versione di myAssembly a un'altra.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<!-- Redirecting to version 2.0.0.0 of the assembly. -->
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Per informazioni su come specificare una codebase, vedere Specifica del percorso di un assembly.
Creazione dell'assembly dei criteri del server di pubblicazione
Usare Assembly Linker (Al.exe) per creare l'assembly dei criteri di pubblicazione.
Per creare un assembly dei criteri di pubblicazione
Inserire il seguente comando nel prompt dei comandi:
al /link:publisherPolicyFile /out:publisherPolicyAssemblyFile /keyfile:keyPairFile /platform:processorArchitecture
In questo comando:
L'argomento
publisherPolicyFileè il nome del file dei criteri dell'editore.L'argomento
publisherPolicyAssemblyFileè il nome dell'assembly dei criteri di pubblicazione risultante da questo comando. Il nome del file di assembly deve seguire il formato:'policy.majorNumber.minorNumber.mainAssemblyName.dll'
L'argomento
keyPairFileè il nome del file contenente la coppia di chiavi. È necessario firmare l'assembly e l'assembly delle regole dell'editore con la stessa coppia di chiavi.L'argomento
processorArchitectureidentifica la piattaforma di destinazione di un assembly specifico del processore.Annotazioni
La possibilità di specificare come destinazione un'architettura del processore specifica è disponibile a partire da .NET Framework 2.0.
La possibilità di specificare come destinazione un'architettura del processore specifica è disponibile a partire da .NET Framework 2.0. Il comando seguente crea un assembly dei criteri dell'editore chiamato policy.1.0.myAssembly da un file di criteri dell'editore denominato pub.config, assegna un nome sicuro all'assembly usando la coppia di chiavi nel sgKey.snk file e specifica che l'assembly è destinato all'architettura del processore x86.
al /link:pub.config /out:policy.1.0.myAssembly.dll /keyfile:sgKey.snk /platform:x86
L'assembly della policy dell'editore deve corrispondere all'architettura del processore dell'assembly a cui si applica. Pertanto, se l'assembly ha un valore ProcessorArchitectureMSIL, l'assembly di criteri di pubblicazione per tale assembly deve essere creato con /platform:anycpu. È necessario fornire un assembly di criteri di pubblicazione separato per ogni assembly destinato a un processore specifico.
Una conseguenza di questa regola è che per modificare l'architettura del processore per un assembly, è necessario modificare il componente principale o secondario del numero di versione, in modo da poter fornire un nuovo assembly dei criteri di pubblicazione con l'architettura del processore corretta. L'assembly dei criteri del vecchio publisher non può supportare il tuo assembly nel caso in cui l'assembly abbia un'architettura del processore diversa.
Un'altra conseguenza è che il linker versione 2.0 non può essere usato per creare un assembly dei criteri di pubblicazione per un assembly compilato usando le versioni precedenti di .NET Framework, perché specifica sempre l'architettura del processore.
Aggiunta dell'assembly dei criteri del server di pubblicazione alla Global Assembly Cache
Usare lo strumento Global Assembly Cache (Gacutil.exe) per aggiungere l'assembly dei criteri di pubblicazione alla Global Assembly Cache.
Per aggiungere l'assembly dei criteri del server di pubblicazione alla Global Assembly Cache
Inserire il seguente comando nel prompt dei comandi:
gacutil /i publisherPolicyAssemblyFile
Il comando seguente aggiunge policy.1.0.myAssembly.dll alla Global Assembly Cache.
gacutil /i policy.1.0.myAssembly.dll
Importante
L'assembly dei criteri di pubblicazione non può essere aggiunto alla Global Assembly Cache a meno che il file dei criteri dell'editore originale specificato nell'argomento /link si trovi nella stessa directory dell'assembly.