Обнаружение, какие сборки загружают какие зависимости (во время выполнения)

StackOverflow https://stackoverflow.com/questions/4855479

Вопрос

Как самый простой способ выяснить, какая сборка запускает определенные зависимости, чтобы быть загруженными во время выполнения? У меня где -то есть безумная ссылка на старую сборку, в одном из 100+ сборок, которые загружаются как часть нашего приложения.

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

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

Было ли интересно, был ли более разумный способ сделать это?

Это было полезно?

Решение

Возможно, вы можете подписаться на Assemblyresolve Событие во всех областях приложений (если их не так уж много). ResipleVentargs содержит специальное поле для этого - RESOLEVEVENTARGS.REQUESTINGASSEMBLY

Другие советы

Как насчет удаления (или переименования) сборки, чтобы увидеть, брошено ли исключение в той точке, где программа пытается загрузить его? Трассировка стека должна содержать ссылку на метод из вызывающей сборки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top