Различия между размещением сборок в общей папке и размещением их в GAC:
- Места сборок в GAC должны быть строго напечатаны
- При загрузке сборок CLR обычно проверяет GAC и загружает сборки в первую очередь, прежде чем рассматривать другие места.
- Вы можете разместить несколько версий одной и той же сборки в GAC (например, у вас может быть v1.0 и v2.0 сборки
MyLibrary.dll
рядом в GAC)
- CLR знает проверку в GAC, в то время как он не будет знать, чтобы проверить вашу общую папку, пока вы сначала не укажете, где находится эта папка.
Для получения дополнительной информации о GAC эта статья может быть полезна:
Использование GAC может решить многие проблемы (включая те, о которых вы даже не подозревали). Если вы рассматриваете попытку сохранить сборки в какой-либо глобальной папке сборок (или GAF для краткости), я настоятельно рекомендую вам просто использовать GAC, если у вас нет действительно веских причин не делать этого.