Что такое кэш AppData \ Local \ assembly \ dl3? - PullRequest
18 голосов
/ 29 ноября 2011

У меня есть эта сборка, которую по какой-то причине Windows начала загружать по этому пути:

C:\Users\marius\AppData\Local\assembly\dl3\MP6PT6BV.2Z4\GMRQEZL9.LCB\46d762c5\8cf066ff_7eaecc01\X.DLL

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

Итак, как мне от нее избавиться?Что мне нужно сделать, чтобы система загружала DLL из выходной папки, а не из кэша?

1 Ответ

23 голосов
/ 29 ноября 2011

Я нашел ответ на свой вопрос.Это папка «теневого копирования» для платформы .NET, как указано в реестре Windows в папке HKCU \ Software \ Microsoft \ Fusion \ DownloadCacheLocation.Теневое копирование - это функция в .NET Framework, позволяющая обновлять сборки, используемые в домене приложения, без выгрузки домена приложения.Подробнее об этой функции в MSDN http://msdn.microsoft.com/en-us/library/ms404279.aspx.

Домен приложения, в который я загружал сборку, был настроен для теневого копирования файлов, установив для свойства ShadowCopyFiles значение true.

.
...