Práce se sestaveními a s globální pamětí sestavení
Poznámka:
Tento článek je specifický pro rozhraní .NET Framework. Nevztahuje se na novější implementace .NET, včetně .NET 6 a novějších verzí.
Pokud máte v úmyslu sdílet sestavení mezi několika aplikacemi, můžete ho nainstalovat do globální mezipaměti sestavení. Každý počítač, na kterém je nainstalovaný modul CLR (Common Language Runtime), má tuto mezipaměť kódu pro celý počítač. Globální mezipaměť sestavení ukládá sestavení určená speciálně pro sdílení několika aplikacemi v počítači. Sestavení musí mít silný název, který se má nainstalovat do globální mezipaměti sestavení.
Poznámka:
Sestavení umístěná v globální mezipaměti sestavení musí mít stejný název sestavení a název souboru (nezahrnuje příponu názvu souboru). Například sestavení s názvem sestavení myAssembly musí mít název souboru myAssembly.exe nebo myAssembly.dll.
Sestavení byste měli sdílet tak, že je nainstalujete do globální mezipaměti sestavení pouze v případě potřeby. Obecně platí, že závislosti sestavení jsou soukromé a vyhledejte sestavení v adresáři aplikace, pokud není explicitně vyžadováno sdílení sestavení. Kromě toho nemusíte instalovat sestavení do globální mezipaměti sestavení, aby byly přístupné pro zprostředkovatele komunikace modelu COM nebo nespravovaný kód.
Existuje několik důvodů, proč můžete chtít nainstalovat sestavení do globální mezipaměti sestavení:
Sdílené umístění.
Sestavení, která by měla být používána aplikacemi, lze umístit do globální mezipaměti sestavení. Pokud by například všechny aplikace měly používat sestavení umístěné v globální mezipaměti sestavení, lze přidat prohlášení o zásadách verze do souboru Machine.config, který přesměruje odkazy na sestavení.
Zabezpečení souborů.
Správci často chrání adresář systemroot pomocí seznamu řízení přístupu (ACL) k řízení přístupu a provádění přístupu. Protože globální mezipaměť sestavení je nainstalována v adresáři systemroot, dědí seznam ACL daného adresáře. Doporučuje se, aby soubory z globální mezipaměti sestavení mohli odstraňovat jenom uživatelé s oprávněními správce.
Souběžná správa verzí.
V globální mezipaměti sestavení lze udržovat více kopií sestavení se stejným názvem, ale v globální mezipaměti sestavení lze udržovat různé informace o verzi.
Další umístění hledání
Modul CLR (Common Language Runtime) zkontroluje globální mezipaměť sestavení pro sestavení, která odpovídá požadavku sestavení před sondou nebo použitím informací o základu kódu v konfiguračním souboru.
Všimněte si, že existují scénáře, kdy explicitně nechcete instalovat sestavení do globální mezipaměti sestavení. Pokud umístíte jedno ze sestavení, která tvoří aplikaci do globální mezipaměti sestavení, nebudete již moci aplikaci replikovat ani nainstalovat pomocí XCOPY ke zkopírování adresáře aplikace. V takovém případě musíte také přesunout sestavení do globální mezipaměti sestavení.
V tomto oddílu
Postupy: Instalace sestavení do globální mezipaměti sestavení Popisuje způsoby instalace sestavení do globální mezipaměti sestavení.
Postupy: Zobrazení obsahu globální mezipaměti sestavení vysvětluje, jak použít Gacutil.exe (nástroj globální mezipaměti sestavení) k zobrazení obsahu globální mezipaměti sestavení.
Postupy: Odebrání sestavení z globální mezipaměti sestavení vysvětluje, jak použít Gacutil.exe (nástroj globální mezipaměti sestavení) k odebrání sestavení z globální mezipaměti sestavení.
Použití obsluhovaných komponent s globální mezipamětí sestavení Vysvětluje, proč by měly být obsluhované komponenty (spravované komponenty MODELU COM+) umístěny do globální mezipaměti sestavení.
Související oddíly
Vytváření sestavení poskytuje přehled vytváření sestavení.
Globální mezipaměť sestavení popisuje globální mezipaměť sestavení.
Postupy: Zobrazení obsahu sestavení vysvětluje, jak použít Ildasm.exe (IL Disassembler) k zobrazení běžných informací zprostředkujícího jazyka (CIL) v sestavení.
Jak modul runtime vyhledá sestavení popisuje, jak modul CLR (Common Language Runtime) vyhledá a načte sestavení, která tvoří vaši aplikaci.
Programování se sestaveními Popisuje sestavení, stavební bloky spravovaných aplikací.