JohnnyCage

A Microsoft véget vet a dll-ek problémájának

A Windows Server 2003 véget vet annak a problémának, amely a Windows felhasználóknak, illetve rendszeradminisztrátoroknak a évek óta a legtöbb fejfájást okozza.

A Microsoft Windows Server 2003 a szoftveróriás szerint egy olyan megoldást fog tartalmazni, amely kiküszöböli a dll fájlok esetében meglehetősen gyakori kompatibilitási problémákat.

A dll fájlok célja, hogy egy - egy adott modult számos alkalmazás használhasson. Komoly problémák merülhetnek azonban fel, ha egy alkalmazás olyan dll fájl telepít fel a rendszerre, amelynek egy korábbi változata már jelen volt a számítógépen, és egy másik alkalmazás használja azt. Az új változat ugyanis szükséges az alkalmazás futásához, a már feltelepített másik programban azonban hibát okozhat a módosított dll. A problémát az is fokozza, hogy a Windows, illetve az alkalmazások nem tudják megállapítani a dll könyvtárak verziószámát.

Magára a koncepcióra elsősorban helytakarékossági okokból volt szükség. A merevlemezek, hordozható adattárolók, és memóriák tárolókapacitása az elmúlt években azonban óriási mértékben fejlődött, ezért a helymegtakarítás immár elhanyagolható, a belőle származó hibák azonban továbbra is komoly problémát jelentenek.

A Windows Server 2003 a Microsoft szerint megakadályozza, hogy egy telepítés alatt álló alkalmazás olyan dll-t írjon fölül, vagyis cseréljen újabbra, amelyet a rendszerben más alkalmazás is használ. "Ez egy klasszikus probléma" - mondta Ivo Salmre, a Microsoft .Net keretrendszerrel, fejlesztőrendszerekkel, és technológiákkal foglalkozó menedzsere. "Sokat kaptunk ezért az elmúlt években" - tette hozzá a vezető.

A Microsoft .Net 1.1, amely a Windows Server 2003 részét fogja képezni, egy "strong binding" (erős kötődés) technológiát alkalmaz, amely lehetővé teszi, hogy egy alkalmazás vagy komponens egy másik komponens adott verziójához legyen kötve. A komponensek így megoszthatók, de szükség esetén izolálhatók is, mondta Salmre. Az ehhez kapcsolódó információkat a Global Assembly Cache fogja tartalmazni a rendszerben.

- Amikor a .Net komponens felkerül a rendszerre, a Global Assembly Cache megvizsgálja a verzióját, nyilvános kulcsát, nyelvi információját, és egy "erős nevet" rendel hozzá - mondta Salmre. - A komponenst ezután az erős néven regisztrálja és indexeli, így elméletileg nem léphetnek fel kompatibilitási problémák - tette hozzá.

A Windows Server 2003 emellett különféle szabályokat alkalmaz, amellyel biztosítható, hogy az alkalmazás mindig megtalálja a szükséges komponenst.

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • mikezs #13
    Sziasztok!
    Valaki magyarazza mar el nekem mi a fene az az .NET mindenhol ezt haloom mostanaban de nem vagyok kepben.
    Mike
  • b #9
    az .so, meg a .dll-ek szerintem legkewlabb dolgok az ámitástechnikában. persze imho. :) a problé ma angol neve: "dll hell".
  • Gabest #8
    Régi értelemben vett dll-eket komolyabb programok már egy ideje nem is használnak, ott van helyette a COM. Amivel mindig is gond volt, azok a mára már elég jól védett rendszer vagy egy-egy fejlesztő környezethez kötődő run-time dll-ek. Ezeket néhány pofátlan program installkor mindig lecserélte arra, amihez linkelve lett.

    Ja, az eredeti cikk .net dll-ekről ír, ezeknek a kiterjesztésen kívül semmi közük azokhoz a dll-ekhez, amikkel a probléma van. De ha majd mindenki .net programokat futtat, akkor az a probléma is mexünik, csak ezt így konkrétan nem írják.
  • Crazy Dog #7
    Hmm... Én még nem szembesültem ezzel a problémával csak vagy kétszer egész pályafutásom alatt, mikor szar MS Visual Basicben írt cuccost próbáltam futtatni. Szóval k.rvára nem értem mi itt a téma. Valaki homályosítson már meg.
  • [HUN]PAStheLoD #2
    háát ez komoly ez a m$ jó párszáz programozó nem tud csak félmegodást kitalálni és azt is csak 5 év alatt!
  • Lammer #1
    Illet vóna valami ilyesmit alkalmazni eddig is!
    2003at írunk, jééé rájöttek! >:-|