2017-02-20 12 views
2

При попытке получить некоторый com-интерфейс для работы с excel я, похоже, создал много файлов с внутренними изображениями в gac (что, я думаю, мне нужно удалить). Но они находятся в подкаталоге, как показано на следующем рисунке ...Что такое вложенная папка для загрузки в GAC

enter image description here

Есть много дубликатов с тем же CodeBase поэтому я думаю, Visual Studio делает дерьмо работу по очистке после себя.

Когда я использую regservr32 для удаления shfusion, я не вижу их как dll. Это потому, что они связаны с «CodeBase», а не хранятся в GAC как dll?

Что такое вложенная папка «Загрузить»?

Каков наилучший способ избавиться от них? Просто многократно работает regasm?


Значит, никто ничего не знает об этом?

Во всяком случае, я понял, как очистить кэш загрузок с помощью

C:\Users\Admin\Source>gacutil /cdl 

из командной строки для разработчиков VS 20XX

ответ

3

Вы смотрите на HTTP Download Cache. Похоже, что почти никто не пишет код, который все еще использует его. Сделал некоторый смысл в первые дни .NET, когда все еще пользовались IE6, а sys-admins еще не начали блокировать контент ActiveX.

Техническая информация о том, что кэш трудно найти. Все еще упоминается в this blog post, но связанное сообщение в блоге с положительными героями умерло, когда gotdotnet.com был прекращен. Никакой резервной копии в машине обратного пути.

Довольно сложно объяснить, почему вы видите свою сборку, когда вы ее протестировали в Excel. Afaik используется только для сборок, загружаемых в Internet Explorer. Папка не является реальной, просто иллюзия из расширения оболочки, реализованного shfusion.dll, которая скрывает содержимое .NET GAC. Фактическое место хранения - C: \ Users \ yourname \ AppData \ Local \ assembly \ dl3

Он работает точно так же, как и обычный кэш веб-браузера. Я полагаю, что он остался раздельным из-за дополнительных деталей AssemblyVersion и PublicKeyToken. Конечно, вы видите его несколько раз из-за разных временных меток сборки, возможно, созданных при тестировании вашей библиотеки. Очистка происходит автоматически, как и для кеша браузера. Fusion начинает удалять файлы, если общий размер хранилища превышает 50 МБ. Посмотрите, перейдя в папку из командной строки. Введите dir/s, чтобы увидеть даты в файлах и их общий размер. Ну, слишком поздно, так как вы убили его с помощью gacutil/cdl. В противном случае лучше всего относиться к нему так же, как к кешу браузера, без необходимости микроконтролировать его.

+0

ОК, да, я вижу это там. Как вы предлагаете, VS создает новые версии каждый раз, когда я перестраиваю и запускаю приложение. Это дополнение VSTO уровня doc, поэтому я считаю его VSTO. Спасибо, что объяснили: одна минута виновата в моей [проблеме взаимодействия VBA/VSTO] (http://stackoverflow.com/q/42347958/2670182) –