Montering sida vid sida
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 16 juni 2016; kontroller kräver
2 redigeringar .
Side-by-side Assembly (SxS) är en konfliktlösningsteknik mellan globala DLL -filer i Microsoft Windows .
Anledning till skapandet
SxS-teknologin var ytterligare ett försök att lösa DLL-helvetesproblemet genom att ersätta sökningen efter bibliotek med filnamn med en sökning med en unik assembly
- identifierare .
Implementering
Från filerna som innehåller resurserna som tagits ut för allmänt bruk av processer bildas en sammansättning ( eng. assembly ). Under installationen placeras sammansättningen i en underkatalog till WinSxS- systemkatalogen , som har ett garanterat unikt namn, och registreras i systemet under en unik identifierare . Ett program som vill använda resurser från vissa sammansättningar specificerar sina identifierare i det så kallade manifestet - en programegenskapsdeskriptor i XML , placerad antingen inuti den körbara filen eller i en separat fil med tillägget .manifest.
Sammansättningar skapas vanligtvis från dynamiska länkbibliotek (DLL) ,
men alla .
Sammansättningar används flitigt i .NET Framework .
På operativsystemnivå introducerades tekniken först i Windows XP , men har använts flitigt sedan Windows Vista .
Fördelar
- Program har nu möjlighet att entydigt specificera de delade resurser de behöver (till exempel specifika versioner av system-DLL).
- XML - språket använder beskrivningar i en läsbar textform, men kan modifieras av vilken textredigerare som helst (när manifestet placeras i en separat fil).
Nackdelar
- Att förbereda och installera en assembly är en mer komplex och tidskrävande process jämfört med att skapa en DLL och traditionellt placera den i System32 -systemkatalogen .
- En sammansättning som innehåller även en enda DLL tar upp mer diskutrymme än den faktiska DLL:n och kräver utrymme för att registreras i systemregistret .
- På system sedan Windows Vista finns det många sammansättningar som innehåller både olika versioner av system-DLL:er och andra resurser (till exempel kontrollinformation för flerspråkig support). Alla sammansättningar installeras alltid på disk, även om de flesta av dem inte används. Den totala volymen av dessa sammansättningar tar upp flera gigabyte diskutrymme, vilket är något mindre än hälften av det totala utrymmet som upptas av systemet efter installation på disk. Det finns inget känt sätt att korrekt ta bort oanvända enheter.
Länkar