Поскольку вкладок, как представляется, управляемый код, а также, ваш «крах», скорее всего, необработанное .NET исключение.
Рассмотрение сведений об ошибке (путем расширения диалогового окна с использованием кнопки, предоставленной для этой цели ...) должно предоставить вам сообщение об исключении, которое должно дать вам представление о том, что происходит. Если это недостающая DLL зависимости, имя должно быть включено в сообщение.
Чтобы получить полное исключение, в том числе трассировки стека, один из следующих должно работать:
минимум усилий: в первой строке вашего собственного управляемого кода, добавить an unhandled exception handler, который показывает полное исключение в окно сообщения или записывает его в файл до его повторного создания.
Среднее усилие: присоедините отладчик к процессу на клиентской машине. Если он находится в вашей локальной сети, setting up remote debugging должен быть тривиальным и также должен позволять вам отлаживать исключения, которые происходят до вашей первой строки выполнения кода (что может быть очень хорошо, если ошибка связана с привязкой ...)
Большинство усилий: получить файл аварийного дампа с клиентской машины и посмотреть управляемое исключение с использованием Windbg и SOS debugging extensions. Получение продуктивными с инструментами, участвующих займет некоторое время, но на положительной стороне будет научит вас ценные навыки отладки ниндзя, которые позволят вам решить почти любой «таинственное крушение» ...
BTW, все стандартные «зависимости VB» являются частью стандартной установки .NET Framework, поэтому это не ваша проблема - только точное исключение (и, возможно, трассировка стека) расскажет вам, что происходит.
Спасибо за ваш ответ. Я знаю, что это хромой вопрос, но как я могу проверить зависимость в GAC? – neo2862 2008-10-31 08:05:07