Global Assembly Cache
Uwaga
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.
Każdy komputer, na którym zainstalowano środowisko uruchomieniowe języka wspólnego, ma pamięć podręczną kodu całego komputera o nazwie globalna pamięć podręczna zestawów. Global Assembly Cache przechowuje zestawy przeznaczone specjalnie do współużytkowania przez kilka aplikacji na komputerze.
Zestawy należy udostępniać, instalując je w globalnej pamięci podręcznej zestawów tylko wtedy, gdy zajdzie taka potrzeba. Ogólnie rzecz biorąc, zachowaj prywatne zależności zestawów i znajdź zestawy w katalogu aplikacji, chyba że udostępnianie zestawu jest jawnie wymagane. Ponadto nie jest konieczne zainstalowanie zestawów w globalnej pamięci podręcznej zestawów, aby były dostępne dla międzyoperackich lub niezarządzanych kodów MODELU COM.
Uwaga
Istnieją scenariusze, w których jawnie nie chcesz instalować zestawu w globalnej pamięci podręcznej zestawów. Jeśli umieścisz jeden z zestawów tworzących aplikację w globalnej pamięci podręcznej zestawów, nie możesz już replikować ani instalować aplikacji przy użyciu polecenia xcopy w celu skopiowania katalogu aplikacji. Należy również przenieść zestaw w globalnej pamięci podręcznej zestawów.
Istnieją dwa sposoby wdrażania zestawu w globalnej pamięci podręcznej zestawów:
Użyj instalatora zaprojektowanego do pracy z globalną pamięcią podręczną zestawów. Jest to preferowana opcja instalowania zestawów w globalnej pamięci podręcznej zestawów.
Użyj narzędzia dewelopera o nazwie globalnej pamięci podręcznej zestawów (Gacutil.exe) dostarczonego przez zestaw SDK systemu Windows.
Uwaga
W scenariuszach wdrażania użyj Instalatora Windows, aby zainstalować zestawy w globalnej pamięci podręcznej zestawów. Użyj narzędzia Global Assembly Cache tylko w scenariuszach programowania, ponieważ nie zapewnia on zliczania odwołań do zestawów i innych funkcji dostępnych podczas korzystania z Instalatora Windows.
Począwszy od programu .NET Framework 4, domyślną lokalizacją globalnej pamięci podręcznej zestawów jest %windir%\Microsoft.NET\assembly. We wcześniejszych wersjach programu .NET Framework domyślną lokalizacją jest %windir%\assembly.
Administratorzy często chronią katalog główny systemu przy użyciu listy kontroli dostępu (ACL) w celu kontrolowania dostępu do zapisu i wykonywania. Ponieważ globalna pamięć podręczna zestawów jest zainstalowana w podkatalogu katalogu systemroot, dziedziczy listę ACL tego katalogu. Zaleca się, aby tylko użytkownicy z uprawnieniami administratora mogli usuwać pliki z globalnej pamięci podręcznej zestawów.
Zestawy wdrożone w globalnej pamięci podręcznej zestawów muszą mieć silną nazwę. Po dodaniu zestawu do globalnej pamięci podręcznej zestawów kontrole integralności są wykonywane na wszystkich plikach tworzących zestaw. Pamięć podręczna wykonuje te kontrole integralności, aby upewnić się, że zestaw nie został naruszony, na przykład po zmianie pliku, ale manifest nie odzwierciedla zmiany.