Что такое GAC? Возможно ли поместить два файла с одинаковым именем в Global Assembly Cache?



GAC (Global Assembly Cache) — глобальный кэш сборок, место где хранятся разделяемые сборки. В GAC нельзя помещать полностью одинаковые сборки (сборки с полностью совпадающим сложным именем). Сложное имя сборки состоит из нескольких частей:



✍🏻 Имя сборки без расширения

✍🏻 Номер версии. Благодаря разграничению по версии можно хранить разные версии одной и ой же сборки

✍🏻 Открытый ключ

✍🏻 Необязательное значение для культуры (при локализации сборки)

✍🏻 Цифровая подпись, которая создается с помощью хэш-значения содержимого сборки и значения секретного ключа. Секретный ключ представляет собой файл с расширением *.snk. Если совпадают у двух сборок только имена сборки, а все остальное отличается, то их можно помещать в GAC вместе.