GAC - это область памяти или область жесткого диска? - PullRequest
5 голосов
/ 16 мая 2010

Является ли GAC областью памяти или областью жесткого диска (C:\windows\Microsoft.NET\Assembly\...) Меня смущает слово кеш в GAC?

Ответы [ 7 ]

8 голосов
/ 16 мая 2010

GAC - это папка:

C: \ Windows \ Microsoft.NET \ сборка

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

2 голосов
/ 16 мая 2010

A кеш - это любой механизм, который улучшает время отклика при загрузке данных, не требуя от клиента дополнительных действий: клиент запрашивает данные «обычным» способом и кеш в основном перехватывает эти запросы и может иногда доставлять данные без необходимости перенаправлять запрос фактическому поставщику данных.

Это никак не относится к памяти на основе . Кэши существуют для различных сценариев, в ЦП для улучшения времени доступа к ОЗУ, в веб-браузерах для улучшения времени доступа к веб-ресурсам - и, в этом случае, в качестве папки скомпилированных сборок на диске для улучшения доступа к DLL (что в противном случае должны быть скомпилированы).

2 голосов
/ 16 мая 2010

Сам GAC находится на жестком диске в %systemroot%\Assembly.

Очевидно, что сами двоичные файлы загружаются в память во время выполнения.

Кэш в GAC семантически относится к общему хранилищу для двоичных файлов.

1 голос
/ 16 мая 2010

GAC физически хранится на вашем жестком диске. Вы можете увидеть физические файлы из командной строки, используя это:

dir %WINDIR%\assembly\GAC_32
0 голосов
/ 16 мая 2010

GAC находится на диске.Представьте себе, что все подписанные сборки хранятся в памяти ...

0 голосов
/ 16 мая 2010

Global Assembly Cache (GAC) находится на вашем жестком диске по умолчанию C:\Windows\Assembly, и я также заметил после проверки, что у вас также могут быть библиотеки на C:\Windows\Microsoft.NET\GAC_[XX], где [XX]означает 32 или 64 бита или MSIL ( Microsoft Intermediate Language ), предполагая, что ваш системный диск - C :.

Вы можете перейти по ссылкам, на которые ссылаются, чтобы узнать больше.

0 голосов
/ 16 мая 2010

Как уже упоминалось, GAC - это место на жестком диске (% systemroot% / сборка).В этом контексте термин кэш относится к хранилищу товаров, поэтому это обычное место, где строго именованные версионные сборки хранятся и доступны приложениям .NET.

...