Procedura: creare criteri editoreHow to: Create a Publisher Policy

I fornitori di assembly è possono indicare che le applicazioni devono utilizzare una versione più recente di un assembly con l'inclusione di un file dei criteri editore con l'assembly aggiornato.Vendors of assemblies can state that applications should use a newer version of an assembly by including a publisher policy file with the upgraded assembly. File dei criteri editore specifica il reindirizzamento di assembly e le impostazioni di base di codice e Usa lo stesso formato del file di configurazione dell'applicazione.The publisher policy file specifies assembly redirection and code base settings, and uses the same format as an application configuration file. File dei criteri editore viene compilato in un assembly e inserito in global assembly cache.The publisher policy file is compiled into an assembly and placed in the global assembly cache.

Esistono tre passaggi coinvolti nella creazione di un criterio server di pubblicazione:There are three steps involved in creating a publisher policy:

  1. Creare un file dei criteri editore.Create a publisher policy file.

  2. Creare un assembly dei criteri editore.Create a publisher policy assembly.

  3. Aggiungere l'assembly dei criteri editore nella global assembly cache.Add the publisher policy assembly to the global assembly cache.

Viene descritto lo schema dei criteri dell'editore in reindirizzamento delle versioni degli Assembly.The schema for publisher policy is described in Redirecting Assembly Versions. Nell'esempio seguente viene illustrato un server di pubblicazione che reindirizza una versione del file dei criteri myAssembly a un altro.The following example shows a publisher policy file that redirects one version of myAssembly to another.

<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 base di codice, vedere specificando il percorso di un Assembly.To learn how to specify a code base, see Specifying an Assembly's Location.

Creazione di Assembly dei criteri editoreCreating the Publisher Policy Assembly

Utilizzare il Assembly Linker (Al.exe) per creare l'assembly dei criteri editore.Use the Assembly Linker (Al.exe) to create the publisher policy assembly.

Per creare un assembly dei criteri editoreTo create a publisher policy assembly

  1. Digitare il comando seguente al prompt dei comandi:Type the following command at the command prompt:

    /link al: publisherPolicyFile /out: publisherPolicyAssemblyFile /keyfile: keyPairFile /platform: processorArchitectureal /link: publisherPolicyFile /out: publisherPolicyAssemblyFile /keyfile: keyPairFile /platform: processorArchitecture

    In questo comando:In this command:

    • Il publisherPolicyFile argomento è il nome del file dei criteri editore.The publisherPolicyFile argument is the name of the publisher policy file.

    • Il publisherPolicyAssemblyFile argomento è il nome dell'assembly dei criteri editore risultante da questo comando.The publisherPolicyAssemblyFile argument is the name of the publisher policy assembly that results from this command. Il nome del file di assembly deve seguire il formato:The assembly file name must follow the format:

      policy.policy. majorNumber .majorNumber . minorNumber .minorNumber . mainAssemblyName . dllmainAssemblyName .dll

    • Il keyPairFile argomento è il nome del file contenente la coppia di chiavi.The keyPairFile argument is the name of the file containing the key pair. È necessario firmare l'assembly e assembly dei criteri editore con la stessa coppia di chiavi.You must sign the assembly and publisher policy assembly with the same key pair.

    • Il processorArchitecture argomento identifica la piattaforma di destinazione da un assembly specifico del processore.The processorArchitecture argument identifies the platform targeted by a processor-specific assembly.

      Nota

      La possibilità di indirizzare un'architettura di processore specifica è stata introdotta in .NET Framework versione 2.0.The ability to target a specific processor architecture is new in the .NET Framework version 2.0.

    Il comando seguente crea un assembly dei criteri editore chiamato policy.1.0.myAssembly da un file dei criteri editore chiamato pub.config, assegna un nome sicuro all'assembly mediante la coppia di chiavi nel sgKey.snk file e specifica che l'assembly è destinato x86 architettura del processore.The following command creates a publisher policy assembly called policy.1.0.myAssembly from a publisher policy file called pub.config, assigns a strong name to the assembly using the key pair in the sgKey.snk file, and specifies that the assembly targets the x86 processor architecture.

    al /link:pub.config /out:policy.1.0.myAssembly.dll /keyfile:sgKey.snk /platform:x86  
    

    L'assembly dei criteri editore deve corrispondere all'architettura di processore dell'assembly a cui si applica.The publisher policy assembly must match the processor architecture of the assembly that it applies to. Pertanto, se l'assembly dispone di un ProcessorArchitecture valore MSIL, l'assembly dei criteri editore per tale assembly deve essere creato con /platform:anycpu.Thus, if your assembly has a ProcessorArchitecture value of MSIL, the publisher policy assembly for that assembly must be created with /platform:anycpu. È necessario fornire un oggetto separato per ogni assembly specifico del processore assembly dei criteri editore.You must provide a separate publisher policy assembly for each processor-specific assembly.

    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 che è possibile fornire un nuovo assembly dei criteri editore con l'architettura del processore corretta.A consequence of this rule is that in order to change the processor architecture for an assembly, you must change the major or minor component of the version number, so that you can supply a new publisher policy assembly with the correct processor architecture. L'assembly dei criteri editore precedente non è in grado di soddisfare l'assembly dopo che l'assembly dispone di un'architettura di processore differente.The old publisher policy assembly cannot service your assembly once your assembly has a different processor architecture.

    Un altro motivo, il linker versione 2.0 non può essere utilizzato per creare un assembly dei criteri editore per un assembly compilato con le versioni precedenti di .NET Framework, poiché viene specificata l'architettura del processore.Another consequence is that the version 2.0 linker cannot be used to create a publisher policy assembly for an assembly compiled using earlier versions of the .NET Framework, because it always specifies processor architecture.

Aggiunta di Assembly dei criteri editore alla Global Assembly CacheAdding the Publisher Policy Assembly to the Global Assembly Cache

Utilizzare il strumento Global Assembly Cache (Gacutil.exe) per aggiungere l'assembly dei criteri editore alla global assembly cache.Use the Global Assembly Cache tool (Gacutil.exe) to add the publisher policy assembly to the global assembly cache.

Per aggiungere l'assembly dei criteri editore alla global assembly cacheTo add the publisher policy assembly to the global assembly cache

  1. Digitare il comando seguente al prompt dei comandi:Type the following command at the command prompt:

    gacutil /ipublisherPolicyAssemblyFile gacutil /i publisherPolicyAssemblyFile

    Il seguente comando aggiunge policy.1.0.myAssembly.dll global assembly cache.The following command adds policy.1.0.myAssembly.dll to the global assembly cache.

    gacutil /i policy.1.0.myAssembly.dll  
    

    Importante

    Impossibile aggiungere l'assembly dei criteri editore per global assembly cache, a meno che il file dei criteri editore originale si trova nella stessa directory dell'assembly.The publisher policy assembly cannot be added to the global assembly cache unless the original publisher policy file is located in the same directory as the assembly.

Vedere ancheSee Also

Programmazione con gli assemblyProgramming with Assemblies
Come il runtime individua gli assemblyHow the Runtime Locates Assemblies
Configurazione di applicazioniConfiguring Apps
Configurazione di App .NET FrameworkConfiguring .NET Framework Apps
Schema delle impostazioni di runtimeRuntime Settings Schema
Schema dei file di configurazioneConfiguration File Schema
Reindirizzamento delle versioni di assemblyRedirecting Assembly Versions