Dela via


Konfigurera omdirigering av sammansättningsbindning

Kommentar

Den här artikeln är specifik för .NET Framework. Det gäller inte för nyare implementeringar av .NET, inklusive .NET 6 och senare versioner.

Som standard använder program uppsättningen .NET Framework-sammansättningar som levererades med den körningsversion som användes för att kompilera programmet. Du kan använda attributet appliesTo<assemblyBinding-elementet> i en programkonfigurationsfil för att omdirigera sammansättningsbindningsreferenser till en specifik version av .NET Framework-sammansättningarna. Det här valfria attributet använder ett .NET Framework-versionsnummer för att ange vilken version det gäller för. Om inget appliesTo-attribut anges <gäller assemblyBinding-elementet> för alla versioner av .NET Framework.

Attributet appliesTo introducerades i .NET Framework version 1.1. Det ignoreras av .NET Framework version 1.0. Det innebär att alla <assemblyBinding-element> tillämpas när du använder .NET Framework version 1.0, även om ett appliesTo-attribut anges.

Kommentar

Använd attributet appliesTo för att begränsa omdirigering av sammansättningsbindningar till en viss version av körningen.

Om du till exempel vill omdirigera sammansättningsbindning för en .NET Framework version 1.0-sammansättning skulle du inkludera följande XML-kod i programkonfigurationsfilen.

<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
            <dependentAssembly>
               * assembly information goes here *
            </dependentAssembly>
       </assemblyBinding>
</runtime>

AssemblyBinding-elementen <> är ordningskänsliga. Du bör ange information om omdirigering av sammansättningar för .NET Framework version 1.0 först, följt av information om omdirigering av sammansättningsbindning för alla .NET Framework version 1.1-sammansättningar. Ange slutligen information om omdirigering av sammansättningsbindning för alla .NET Framework-sammansättningsomdirigeringar som inte använder attributet appliesTo och som därför gäller för alla versioner av .NET Framework. Om en omdirigeringskonflikt uppstår används den första matchande omdirigeringsinstruktionen i konfigurationsfilen.

Om du till exempel vill omdirigera en referens till en .NET Framework version 1.0-sammansättning och en annan referens till en .NET Framework version 1.1-sammansättning använder du mönstret som visas i följande pseudokod.

<assemblyBinding xmlns="..." appliesTo="v1.0.3705">
  <!-- .NET Framework version 1.0 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="..." appliesTo="v1.1.4322">
  <!-- .NET Framework version 1.1 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="...">
  <!-- Redirects meant for all versions of the .NET Framework. -->
</assemblyBinding>

Fel vid felsökning av konfigurationsfiler

Körningen parsar konfigurationsfiler en gång när en programdomän skapas och läser in kod i programdomänen. Den vanliga språkkörningen hanterar fel i en konfigurationsfil genom att ignorera posten. Körningen ignorerar hela konfigurationsfilen om den innehåller felaktig XML. För ogiltig XML ignoreras endast de ogiltiga avsnitten.

Du kan avgöra om en konfigurationsfil används genom att avgöra om om omdirigeringar för sammansättningsbindning sker. Använd loggboken för sammansättningsbindning (Fuslogvw.exe) för att se vilka sammansättningar som läses in. Om du vill se alla sammansättningsbindningar måste du ange en post för ForceLog i registret.

Se även