Я столкнулся со следующей проблемой, и на данный момент я чувствую, что мне не хватает какого-то инструмента, я просто не знаю, что это за инструмент, или что именно это должно быть делает.Отслеживание медленной управляемой DLL-загрузки
Вот установка: У меня есть сторонняя DLL, которая должна быть зарегистрирована в GAC. Все это работает отлично и хорошо на почти каждой машине, на которой наше программное обеспечение было развернуто раньше. Но теперь у нас есть 2 машины, которые, похоже, идентичны тем, которые мы знаем, работаем (они клонируются с одного и того же изображения и набиты одним и тем же оборудованием, так что в значительной степени единственное отличие - это настройки программного обеспечения, по которым я снова и снова переходил, и они кажется прекрасным).
Теперь проблема, DLL в GAC занимает очень много времени для загрузки. По крайней мере, я считаю, что это проблема, я могу сказать окончательно, что создание одного класса из этой DLL является медленной частью. Как только он загружается, вещь летает, как всегда. Но пока на хорошо известных машинах DLL загружается так быстро, что временная метка в журнале даже не меняется, на этих двух машинах требуется за 1 мин для загрузки.
Знания: У меня нет доступа к источнику, поэтому я не могу отлаживать DLL. Наше приложение является единственным, которое его использует (поэтому не должно быть проблем с одновременным доступом). Существует только одна версия этой DLL, поэтому это не должно быть проблемой конфликта версий. Используется ссылка GAC (если я удалю DLL из GAC, будет исключено исключение недостающей ссылки GAC).
Может ли кто-нибудь с большим навыком отладки-фу предлагать, что я могу сделать, чтобы отследить основную причину этой проблемы?
Ух, звучит как ужасная проблема. Посмотрите вперед к ответу. Вы подтвердили, что файлы machine.config идентичны? Является ли .DLL для каких-либо сетевых вызовов? – womp
@ Alex K: Что это было? У меня очень похожая проблема. вы помните свое решение? –
@ ralf.w. Извините, никакой большой информации не было получено за время расследования. Поскольку было время, мы просто закончили замену машины.Мой подозреваемый №1 был антивирусом, но я не мог следить. Вы можете попробовать отключить его (если позволяет ваша ИТ-политика) и посмотреть, помогает ли это. –