Výhody sestavení

Sestavení jsou navržena pro zjednodušení nasazení aplikace a řešení potíží se správou verzí, ke kterým může dojít u aplikací založených na komponentách.

Koncoví uživatelé a vývojáři jsou obeznámeni s problémy správy verzí a nasazení, které vyplývají z dnešních komponentně založených systémů. Někteří koncoví uživatelé se setkali se zklamáním při instalaci nové aplikace v jejich počítači, pouze proto, aby zjistili, že existující aplikace náhle přestala pracovat. Mnoho vývojářů strávilo nespočet hodin pokoušením zachovat konzistentní všechny nezbytné položky registru, aby aktivovaly třídu modelu COM.

Mnoho problémů s nasazením bylo vyřešeno použitím sestavení v rozhraní .NET Framework. Protože jde o komponenty popisující samy sebe, které nemají žádné závislosti na položky registru, tak sestavení umožňují instalaci aplikace s nulovým dopadem. Také zjednodušují odinstalování a replikaci aplikací.

Problémy se správou verzí

V současné době dochází k dvěma problémům se správou verzí u aplikací systému Win32:

  • Pravidla pro správu verzí nemohou být vyjádřeny mezi částmi aplikace a vynuceny operačním systémem. Současný přístup se opírá o zpětnou kompatibilitou, kterou je často obtížné zaručit. Definice rozhraní musí být statická, jednou publikována a jedna část kódu musí udržovat zpětnou kompatibilitu s předchozími verzemi. Navíc, kód je obvykle navržen tak, aby pouze jediná verze mohla být přítomna a vykonávána v počítači v daném okamžiku.

  • Neexistuje žádný způsob zachování konzistence mezi sadami komponent, které jsou vytvořeny společně a sadou, která je k dispozici v době běhu.

Spojení těchto dvou problémů se správou verzí vytváří konflikty DLL knihoven. Instalace jedné aplikace může neúmyslně přerušit existující aplikaci, protože určitá softwarová komponenta nebo DLL knihovna nebyla zpětně plně kompatibilní s předchozí verzí. Jakmile dojde k této situaci, neexistuje v systému podpora pro diagnostiku a řešení tohoto problému.

Konec konfliktů DLL knihoven

Microsoft ® Windows ® 2000 začal plně řešit tyto problémy. Poskytuje dvě funkce, které částečně opravují konflikty DLL knihoven:

  • Systém Windows 2000 umožňuje vytvořit klientskou aplikaci, kde závislé DLL soubory jsou umístěny ve stejném adresáři jako soubor s příponou EXE dané aplikace. Systém Windows 2000 lze nakonfigurovat tak, aby kontroloval komponentu v adresáři, kde je soubor s příponou EXE umístěn, před kontrolu plně kvalifikované cesty nebo hledání normální cesty. To umožňuje komponentám být nezávislé na instalovaných komponentách a být používané ostatními aplikacemi.

  • Systém Windows 2000 zamkne soubory dodané s operačním systémem v adresáři System32, takže nemůžou být neúmyslně nahrazeny, když jsou aplikace instalovány.

Modul CLR (Common Language Runtime) používá sestavení k tomu, aby tento vývoj pokračoval směrem ke kompletnímu řešení konfliktů DLL knihoven.

Řešení sestavení

Pro vyřešení problémů se správou verzí, jakož i zbývajících problémů, které vedou ke konfliktům DLL knihoven, runtime modul používá sestavení pro následující činnosti:

  • Umožňují vývojářům určit pravidla verze mezi různými softwarovými komponentami.

  • Poskytují infrastrukturu k vynucení pravidel správy verzí.

  • Poskytují infrastrukturu umožňující více verzím komponent být spuštěny současně (nazvanou souběžné spouštění).

Viz také

Koncepty

Sestavení v modulu CLR (Common Language Runtime)

Správa verzí sestavení

Sestavení a souběžné spouštění