Определить версии сборки, используемые/на которые ссылается другая сборка

Есть ли инструмент, который может перечислить точные версии и открытые ключи всех сборок, на которые есть ссылки в другой сборке?

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

Часть ссылок есть в проектах, часть во внешних библиотеках.

Обновление: чтобы уточнить, я бы предпочел инструмент командной строки, чтобы я мог автоматизировать эту охоту.


person Thomas Jung    schedule 23.06.2009    source источник


Ответы (2)


Вы можете использовать Fusion Log Viewer, чтобы точно определить, что не удается загрузить, в отличие от ручного обхода зависимостей в Reflector или ILDasm.

http://msdn.microsoft.com/en-us/library/e74a18c4(vs.71).aspx

person Adam Sills    schedule 23.06.2009
comment
Я хотел бы проверить оба ответа как правильные, но этот инструмент приблизился к тому, что я искал, потому что я смог увидеть ВСЕ загружаемые сборки и порядок их загрузки, включая подробности о том, почему загрузка не удалась. Мне пришлось вручную зарегистрировать все разные версии MySql.Data.dll в GAC для используемой мной версии фреймворка (все они были зарегистрированы для версии 2.0, но не для версии 3.5). - person Thomas Jung; 23.06.2009

Reflector может показать вам это; щелкните сборки в папке «Ссылки», и вы можете проверить номер версии под списком:

alt text

person Fredrik Mörk    schedule 23.06.2009
comment
Спасибо. Я должен уточнить, что я ищу инструмент командной строки. Я хочу автоматизировать это, потому что мне нужно просмотреть 30 проектов с большим количеством ссылок на DLL. - person Thomas Jung; 23.06.2009