Dela via


Programkonfigurationsfiler

En programkonfigurationsfil är en XML-fil som används för att styra sammansättningsbindningen. Det kan omdirigera ett program från att använda en version av en sida vid sida-sammansättning till en annan version av samma sammansättning. Detta kallas konfiguration per program. En programkonfigurationsfil gäller endast för ett specifikt programmanifest och beroende sammansättningar. Isolerade komponenter som kompilerats med ett inbäddat ISOLATIONAWARE_MANIFEST_RESOURCE_ID manifest kräver en separat programkonfigurationsfil. Manifest som hanteras med CreateActCtx kräver en separat programkonfigurationsfil.

Omdirigeringen som anges av en programkonfigurationsfil kan åsidosätta de sammansättningsversioner som anges av programmanifest och konfigurationsfiler för utgivare. Om en utgivarkonfigurationsfil till exempel anger att alla referenser till en sammansättning omdirigeras från version 1.0.0.0 till 1.1.0.0, kan en programkonfigurationsfil användas för att omdirigera ett visst program till att använda version 1.0.0.0. En programkonfigurationsfil gäller endast för det angivna programmanifestet och beroende sammansättningar.

En fullständig lista över XML-schemat finns i Application Configuration File Schema.

Programkonfigurationsfiler har de element och attribut som visas i följande tabell.

Element Attribut Krävs
konfiguration Ja
fönster Ja
publisherPolicy Ja
tillämpa Ja
körning Nej
assemblyBinding Ja
avsökning Nej
privatePath Ja
beroende Nej
beroendeAssembly Ja
assemblyIdentity Ja
typ Ja
namn Ja
språk Nej
processorArchitecture Ja
version Ja
publicKeyToken Nej
bindingRedirect Ja
oldVersion Ja
newVersion Ja

Filplats

Programkonfigurationsfiler måste installeras på samma plats som programmets programmanifest.

Filnamnssyntax

Namnet på en programkonfigurationsfil är namnet på det körbara programmet följt av .config.

Till exempel skulle en programkonfigurationsfil som refererar till Example.exe eller Example.dll använda filnamnssyntaxen som visas i följande exempel. Du kan utelämna fältet för <resurs-ID> om du installerar konfigurationsfilen som en separat fil eller om resurs-ID:t är 1.

example.exe.<resurs-ID>.config

example.dll.<resurs-ID>.config

Element

Namn på element och attribut är skiftlägeskänsliga. Värdena för element och attribut är alla skiftlägesokänsliga, förutom värdet för typattributet.

konfiguration

Ett containerelement för windows och körning element i en programkonfigurationsfil. Krävs.

Windows

Innehåller de delar av programkonfigurationsfilen som gäller för omdirigering av Win32-sammansättningar.

Not

Författaren till ett program bör inte inkludera en konfigurationsfil med en windows- underelement som en del av deras program. Detta kan vara tillåtet om konfigurationsfilens enda syfte är att aktivera funktionen privatePath för en avsökning element. Elementet avsökning är inte tillgängligt på system som är tidigare än Windows Server 2008 R2 och Windows 7.

publisherPolicy

Anger om utgivarprincip ska tillämpas.

Det här elementet har attributen som visas i följande tabell.

Attribut Beskrivning
tillämpa Värdet "ja" tillämpar utgivarprincipen. Det här är standardinställningen. Värdet "nej" tillämpar inte utgivarprincipen.

Runtime

Innehåller de delar av programkonfigurationsfilen som gäller för omdirigering av .Net-sammansättningar.

assemblyBinding

Innehåller omdirigeringsinformationen för programmet och sammansättningen som påverkas av den här programkonfigurationsfilen. Det första underelementet i assemblyBinding måste vara en assemblyIdentity som identifierar programmet.

Från och med Windows Server 2008 R2 och Windows 7 kan en sammansättningBinding element innehålla en avsökning underelement.

Sondera

Ett valfritt underelement i en sammansättningBinding-element som utökar sökningen efter sammansättningar till ytterligare kataloger. De ytterligare katalogerna behöver inte vara underkataloger för sammansättningens katalog.

Not

Det här elementet är inte tillgängligt på system som är tidigare än Windows Server 2008 R2 och Windows 7 och kan endast användas i ett windows-element.

Det här elementet har attributen som visas i följande tabell.

Attribut Beskrivning
privatePath Anger de relativa sökvägarna av underkataloger i programmets baskatalog som kan innehålla sammansättningar. Högst nio underkatalogsökvägar kan anges. Avgränsa varje underkatalogsökväg med semikolon.

Du kan använda specialspecificeraren med dubbla punkter i en sökväg för att ange den överordnade katalogen för den aktuella katalogen. Högst två nivåer ovanför den aktuella katalogen kan anges med dubbla punkter. Använd inte trippelpunkter. Till exempel kontrollerar ett program som använder följande avsökning element ytterligare kataloger för en sammansättning.

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

beroende

Ett containerelement för minst en beroendeAssembly. Varje beroendeAssembly kan finnas i exakt en beroende. Det här elementet har inga attribut. Valfri.

dependentAssembly

Det första underelementet måste vara ett assemblyIdentity-element som identifierar den sida-vid-sida-sammansättning som omdirigeras av programkonfigurationsfilen. En beroendeAssembly- har inga attribut.

assemblyIdentity

Som det första underelementet i en sammansättningBinding element, beskriver assemblyIdentity och identifierar ett program unikt. Programkonfigurationsfilen omdirigerar programmets bindning till sammansättningar sida vid sida. Följande assemblyIdentity anger till exempel att programkonfigurationsfilen påverkar bindningen av programmet mysampleApp till sammansättningar sida vid sida. De sammansättningar som omdirigeras identifieras i en beroendeAssembly.

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

Som det första underelementet i ett beroendeAssembly- element beskriver assemblyIdentity en sida-vid-sida-sammansättning som programmet är beroende av. Programkonfigurationsfilen konfigurerar om identiteten för den här nödvändiga sammansättningen. Följande assemblyIdentity och bindingRedirect konfigurerar om ett beroende av Microsoft.Windows.SampleAssembly från version 2.0.0.0 till version 2.1.0.0.

<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>

Observera att varje assemblyIdentity ingår i en beroendeAssembly- måste exakt matcha assemblyIdentity i sammansättningens egna sammansättningsmanifest.

Elementet assemblyIdentity har följande attribut. Den har inga underelement.

Attribut Beskrivning
typ Värdet måste vara win32 (gemener). Krävs.
namn Namnattributet identifierar programmet som påverkas av programkonfigurationsfilen eller sammansättningen som omdirigeras. Använd följande format som namn: Organization.Division.Name. Krävs. Exempel: Microsoft.Windows.MysampleApp eller Microsoft.Windows.MysampleAsm.
språk Identifierar språket. Valfri. För en assemblyIdentity refererar till en sammansättning anger du DHTML-språkkoden om sammansättningen är språkspecifik. Om sammansättningen är för global användning (språkneutral) anger du värdet som "*".
processorArchitecture Anger processorn som kör programmet.
version Anger versionen av programmet eller sammansättningen. Använd versionssyntax i fyra delar: mmmm.nnnn.oooo.pppp. Krävs.
publicKeyToken För en assemblyIdentity som refererar till en sammansättning, en hexadecimal sträng med 16 tecken som representerar de sista 8 byteen av SHA-1-hashen för den offentliga nyckel som sammansättningen är signerad under. Den offentliga nyckel som används för att signera katalogen måste vara 2 048 bitar eller större. Krävs för alla delade sammansättningar sida vid sida.

bindingRedirect

Elementet bindingRedirect innehåller omdirigeringsinformation för bindningen av sammansättningen. Varje -bindningRedirect- måste ingå i exakt en beroendeAssembly-. Versionssyntaxen i fyra delar för den nya versionen och den gamla versionen måste ange samma huvudversioner och delversioner.

Det här elementet har attributen som visas i följande tabell.

Attribut Beskrivning
oldVersion Anger den sammansättningsversion som åsidosättas och omdirigeras. Använd versionssyntaxen i fyra delar nnnn.nnnnn.nnnnn.nnnn.nnnnnn. Ange ett intervall med versioner med ett bindestreck utan blanksteg. Till exempel 2.14.3.0 eller 2.14.3.0 2.16.0.0. Krävs.
newVersion Anger ersättningssammansättningens version. Använd versionssyntax i fyra delar nnnn.nnnnn.nnnnn.nnnn.nnnnnn.

Anmärkningar

Programkonfigurationsfiler anger inte filer.

Exempel

<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"/>