Безопасно ли очищать%SYSTEMROOT%\assembly\temp?

Коротко и просто:

безопасно ли удалять содержимое %SYSTEMROOT%\assembly\temp как в

rd /s "%SYSTEMROOT%\assembly\temp\*"

на экземпляре Windows Server 2008 R2 / SBS 2011? Доступны ли официальные ссылки на документацию или сообщения в блоге?

В одном случае я вижу, что эта папка выросла до 33 ГБ, и этот пост SE предлагает, что очистка каталога может быть вариантом. В конце концов, она называется "временная", и, очевидно, эта папка используется для процедур удаления сборок.net - похоже, идея состоит в том, чтобы переместить туда файлы, связанные со сборкой, до окончательного удаления.

По той или иной причине окончательное удаление не выполняется в некоторых случаях, и папка продолжает расти. В конкретном случае, который я рассматриваю, более 5600 каталогов с "временной" датой с 15 мая 2014 г. ~50 добавляются каждый день около 0:00 - 3:30 (вероятно, в результате некоторого технического обслуживания) и каждый из них содержит 1-2 файла.ni.dll, как mscorlib.ni.dll, system.ni.dll, system.configuration.ni.dll [...]. Кажется, это повторяется каждый день.

Что я в основном ищу, так это либо официальное заявление о том, что удаление является безопасным, либо другой поддерживаемый и документированный способ его очистки.

2 ответа

Прежде чем пытаться очистить эту папку, вы должны учитывать, что файлы в этой папке могут использоваться некоторыми.Net-приложениями. При этом вам следует проверить, нет ли какого-либо приложения.Net, которое не очищается должным образом (возможно, самостоятельно запрограммированное или сторонняя программа).

Вам также следует подумать о перезагрузке сервера, потому что это должно привести к завершению процессов, и Windows хотя бы частично очистит этот каталог.

Эта папка может увеличиться в размере из-за неправильной очистки программных установок и обновлений. Однако НЕКОТОРЫЕ приложения могут использовать файлы в этой папке, и вы не можете полагаться на эти приложения, чтобы должным образом заблокировать удаление файлов, что может привести к сбоям в работе.

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

Немного поздно, но вот что я нашел. Существует утилита gacutil.exe , которая устанавливается вместе с Visual Studio. Согласно этому документу Microsoft , если вы запустите командуgacutil /cdl, он удалит содержимое кэша загрузки.

ПРИМЕЧАНИЯ :

  • Если вы устанавливаете VS 2022 Preview, расположение файлов x64 по умолчанию:

C:\Program Files (x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.8Tools\x64\

  • НЕ переименовывайте файл «gacutil.exe». Он выйдет из строя без предупреждения.

  • Убедитесь, что вы используете правильный файл (x86 или x64) в соответствии с вашей ОС.

  • Для работы gacutil.exe требуются файлы « gacutil.exe.config » и « gacutlrc.dll », расположенные в папке «1033».

Другие вопросы по тегам