Путаница в отношении GAC
Во время интервью я был озадачен тем, что интервьюер задал этот вопрос о Global Assembly Cache (GAC). Какой должен быть ответ?
Вопрос 1: Вместо того, чтобы хранить сборку в GAC, если мы создадим каталог и сохраним там наши сборки и если мы сделаем этот каталог общим, чтобы подключенные компьютеры могли использовать эти сборки? Какая разница, если я сохранил сборку в GAC и в общей папке?
Отредактировано: Вопрос 2: Предположим, что есть 4 машины для разработки визуальных студий. из них один служит сервером. так могут ли другие машины (кроме серверных) использовать сборки в GAC серверной машины?
2 ответа
Сборки, размещенные в GAC, формально называются Совместными сборками или Глобальными сборками (пожалуйста, не путайте с вашими Совместными сборками). Одним из преимуществ размещения сборки в GAC является контроль версий, в то время как сборка находится в GAC, может сосуществовать с другой версией той же сборки, хотя и имеет одинаковое имя файла, она отличается внутренней сигнатурой, которая содержит сильное имя. Пожалуйста, смотрите эту ссылку
Сборки в GAC выполняются с полным доверием. Сборки в любом месте любой файловой системы подпадают под некоторые Рекомендации по безопасности, которые могут помешать их работе. Например, до.net 3.5 с пакетом обновления 1 (SP1) сборки на общем сетевом ресурсе были ненадежными и не могли выполнять такие вещи, как доступ к файловой системе.