Delen via


Toepassingsconfiguratiebestanden

Een toepassingsconfiguratiebestand is een XML-bestand dat wordt gebruikt om assemblybinding te beheren. Het kan een toepassing omleiden van het gebruik van één versie van een assembly naast elkaar naar een andere versie van dezelfde assembly. Dit wordt configuratie per toepassinggenoemd. Een toepassingsconfiguratiebestand is alleen van toepassing op een specifiek toepassingsmanifest en afhankelijke assembly's. Geïsoleerde onderdelen die zijn gecompileerd met een ingesloten ISOLATIONAWARE_MANIFEST_RESOURCE_ID manifest, vereisen een afzonderlijk toepassingsconfiguratiebestand. Manifesten die worden beheerd met CreateActCtx- vereisen een afzonderlijk toepassingsconfiguratiebestand.

De omleiding die is opgegeven door een toepassingsconfiguratiebestand, kan de assemblyversies die zijn opgegeven door toepassingsmanifesten en configuratiebestanden van de uitgever overschrijven. Als een configuratiebestand van een uitgever bijvoorbeeld aangeeft dat alle verwijzingen naar een assembly worden omgeleid van versie 1.0.0.0 naar 1.1.0.0, kan een toepassingsconfiguratiebestand worden gebruikt om een bepaalde toepassing om te leiden om versie 1.0.0.0 te gebruiken. Een toepassingsconfiguratiebestand is alleen van toepassing op het opgegeven toepassingsmanifest en afhankelijke assembly's.

Zie Application Configuration File Schemavoor een volledige lijst van het XML-schema.

Toepassingsconfiguratiebestanden bevatten de elementen en kenmerken die worden weergegeven in de volgende tabel.

Element Kenmerken Vereist
configuratie Ja
vensters Ja
publisherPolicy- Ja
toepassen Ja
runtime- Nee
assemblyBinding- Ja
Nee
privatePath- Ja
afhankelijkheid Nee
dependentAssembly- Ja
assemblyIdentity- Ja
type Ja
naam Ja
taal Nee
processorArchitecture Ja
versie Ja
publicKeyToken- Nee
bindingRedirect- Ja
oldVersion- Ja
newVersion- Ja

Bestandslocatie

Toepassingsconfiguratiebestanden moeten worden geïnstalleerd op dezelfde locatie als het toepassingsmanifest van de toepassing.

Syntaxis van bestandsnaam

De naam van een toepassingsconfiguratiebestand is de naam van het uitvoerbare toepassingsbestand, gevolgd door .config.

Een toepassingsconfiguratiebestand dat verwijst naar Example.exe of Example.dll gebruikt bijvoorbeeld de syntaxis van de bestandsnaam die in het volgende voorbeeld wordt weergegeven. U kunt het veld voor <resource-id weglaten> als u het configuratiebestand als afzonderlijk bestand installeert of als de resource-id 1 is.

example.exe.<resource-id>.config

example.dll.<resource-id>.config

Elementen

Namen van elementen en kenmerken zijn hoofdlettergevoelig. De waarden van elementen en kenmerken zijn allemaal niet hoofdlettergevoelig, met uitzondering van de waarde van het typekenmerk.

configuratie

Een containerelement voor de Windows en runtime elementen van een toepassingsconfiguratiebestand. Vereist.

ramen

Bevat de onderdelen van het toepassingsconfiguratiebestand dat van toepassing is op de omleiding van Win32-assembly's.

Notitie

De auteur van een toepassing mag geen configuratiebestand bevatten met een windows- subelement als onderdeel van hun toepassing. Dit is mogelijk toegestaan als het enige doel van het configuratiebestand is om de privatePath--functionaliteit van een -element in te schakelen. Het -element is niet beschikbaar op systemen ouder dan Windows Server 2008 R2 en Windows 7.

publisherPolicy

Hiermee geeft u op of het uitgeversbeleid moet worden toegepast.

Dit element bevat de kenmerken die worden weergegeven in de volgende tabel.

Attribuut Beschrijving
toepassen De waarde Ja is van toepassing op het uitgeversbeleid. Dit is de standaardinstelling. De waarde Nee is niet van toepassing op het uitgeversbeleid.

Runtime

Bevat de onderdelen van het toepassingsconfiguratiebestand dat van toepassing is op omleiding van .Net-assembly's.

assemblyBinding

Bevat de omleidingsinformatie voor de toepassing en de assembly die wordt beïnvloed door dit toepassingsconfiguratiebestand. Het eerste subelement van assemblyBinding moet een assemblyIdentity- zijn waarmee de toepassing wordt geïdentificeerd.

Vanaf Windows Server 2008 R2 en Windows 7 kan een assemblyBinding element een probing subelement bevatten.

Indringende

Een optioneel subelement van een assemblyBinding-element dat de zoekopdracht naar assembly's uitbreidt naar extra mappen. De extra mappen hoeven geen submappen van de map van de assembly te zijn.

Notitie

Dit element is niet beschikbaar op systemen ouder dan Windows Server 2008 R2 en Windows 7 en kan alleen worden gebruikt binnen een Windows element.

Dit element bevat de kenmerken die worden weergegeven in de volgende tabel.

Attribuut Beschrijving
privatePath- Hiermee geeft u de relatieve paden van submappen van de basismap van de toepassing die assembly's kunnen bevatten. Er kunnen maximaal negen submappaden worden opgegeven. Scheidingstekens voor elk submappad met een puntkomma.

U kunt de speciale aanduiding voor dubbele puntjes gebruiken in een pad om de bovenliggende map van de huidige map aan te geven. Niet meer dan twee niveaus boven de huidige map kunnen worden opgegeven met dubbele punten. Gebruik geen drie puntjes. Een toepassing die bijvoorbeeld de volgende het testen van element gebruikt, controleert extra mappen voor een assembly.

<probing privatePath="bin;..\bin2\subbin;bin3"/>

afhankelijkheid

Een containerelement voor ten minste één afhankelijkeAssembly-. Elke afhankelijkeassembly- kan zich binnen precies één afhankelijkheid. Dit element heeft geen kenmerken. Facultatief.

afhankelijkeassembly

Het eerste subelement moet een assemblyIdentity element zijn dat de assembly naast elkaar identificeert die wordt omgeleid door het configuratiebestand van de toepassing. Een dependentAssembly- heeft geen kenmerken.

assemblyIdentity

Als het eerste subelement van een assemblyBinding element beschrijft assemblyIdentity een toepassing en identificeert deze uniek. Met het toepassingsconfiguratiebestand wordt de binding van deze toepassing omgeleid naar assembly's naast elkaar. De volgende assemblyIdentity geeft bijvoorbeeld aan dat het toepassingsconfiguratiebestand van invloed is op de binding van de mysampleApp van de toepassing aan assembly's naast elkaar. De assembly's die worden omgeleid, worden geïdentificeerd in een afhankelijkeAssembly-.

<assemblyIdentity processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>

Als het eerste subelement van een dependentAssembly-element element beschrijft assemblyIdentity een side-by-side assembly waarvan de toepassing afhankelijk is. Het toepassingsconfiguratiebestand configureert de identiteit van deze vereiste assembly opnieuw. Met de volgende assemblyIdentity en bindingRedirect bijvoorbeeld een afhankelijkheid van Microsoft.Windows.SampleAssembly van versie 2.0.0.0 naar versie 2.1.0.0 opnieuw configureert.

<dependency>
      <dependentAssembly>
         <assemblyIdentity type="win32"
          name="Microsoft.Windows.SampleAssembly"
          processorArchitecture="x86"
          publicKeyToken="0000000000000000"/>
         <bindingRedirect oldVersion="2.0.0.0" newVersion="2.1.0.0"/>
      </dependentAssembly>
</dependency>

Houd er rekening mee dat elke assemblyIdentity opgenomen in een dependentAssembly- exact moet overeenkomen met de assemblyIdentity- in het eigen assemblymanifest.

Het element assemblyIdentity heeft de volgende kenmerken. Het heeft geen subelementen.

Attribuut Beschrijving
type De waarde moet win32 (kleine letter) zijn. Vereist.
naam Het naamkenmerk identificeert de toepassing die wordt beïnvloed door het toepassingsconfiguratiebestand of de assembly die wordt omgeleid. Gebruik de volgende indeling voor de naam: Organization.Division.Name. Vereist. Bijvoorbeeld: Microsoft.Windows.MysampleApp of Microsoft.Windows.MysampleAsm.
taal Identificeert de taal. Facultatief. Geef voor een assemblyIdentity die verwijst naar een assembly, als de assembly taalspecifiek is, de DHTML-taalcode op. Als de assembly bedoeld is voor wereldwijd gebruik (taalneutraal) stelt u de waarde in op '*'.
processorArchitecture Hiermee geeft u de processor waarop de toepassing wordt uitgevoerd.
versie Hiermee geeft u de versie van de toepassing of assembly. Gebruik vierdelige versiesyntaxis: mmmm.nnnn.oooo.ppp. Vereist.
publicKeyToken- Voor een assemblyIdentity die verwijst naar een assembly, een hexadecimale tekenreeks van 16 tekens die de laatste 8 bytes van de SHA-1-hash van de openbare sleutel vertegenwoordigt waaronder de assembly is ondertekend. De openbare sleutel die wordt gebruikt om de catalogus te ondertekenen, moet 2048 bits of hoger zijn. Vereist voor alle gedeelde assembly's naast elkaar.

bindingRedirect

Het element bindingRedirect bevat omleidingsinformatie voor de binding van de assembly. Elke bindingRedirect- moet worden opgenomen in precies één afhankelijkeassembly-. De syntaxis van de vierdelige versie van de nieuwe versie en de oude versie moeten dezelfde primaire en secundaire versies opgeven.

Dit element bevat de kenmerken die worden weergegeven in de volgende tabel.

Attribuut Beschrijving
oldVersion- Hiermee geeft u de assemblyversie die wordt overschreven en omgeleid. Gebruik de syntaxis van de vierdelige versie nnnnn.nnnnn.nnnnn.nnnnn. Geef een reeks versies op met een streepje zonder spaties. Bijvoorbeeld 2.14.3.0 of 2.14.3.0 2.16.0.0. Vereist.
newVersion- Hiermee geeft u de vervangende assemblyversie. Gebruik vierdelige versiesyntaxis nnnnn.nnnnn.nnnnn.nnnnn.

Opmerkingen

Toepassingsconfiguratiebestanden geven geen bestanden op.

Voorbeeld

<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.10.0"/>
<bindingRedirect oldVersion="1.0.50.2011-1.0.60.65535" newVersion="1.0.70.0"/>