2008-10-31 3 views
1

Я использую this - в противном случае отлично - управление вкладками vb в одном из моих приложений C#. Когда приложение, использующее его, устанавливается на другой компьютер, Windows сообщает пользователю обычным образом и описательно, что «приложение столкнулось с проблемой и должно закрыть». Я предполагаю, что у элемента управления есть скрытая зависимость от vb, но что это может быть?VB control отключает мое приложение

Любые идеи парней?

ответ

1

Поскольку вкладок, как представляется, управляемый код, а также, ваш «крах», скорее всего, необработанное .NET исключение.

Рассмотрение сведений об ошибке (путем расширения диалогового окна с использованием кнопки, предоставленной для этой цели ...) должно предоставить вам сообщение об исключении, которое должно дать вам представление о том, что происходит. Если это недостающая DLL зависимости, имя должно быть включено в сообщение.

Чтобы получить полное исключение, в том числе трассировки стека, один из следующих должно работать:

  • минимум усилий: в первой строке вашего собственного управляемого кода, добавить an unhandled exception handler, который показывает полное исключение в окно сообщения или записывает его в файл до его повторного создания.

  • Среднее усилие: присоедините отладчик к процессу на клиентской машине. Если он находится в вашей локальной сети, setting up remote debugging должен быть тривиальным и также должен позволять вам отлаживать исключения, которые происходят до вашей первой строки выполнения кода (что может быть очень хорошо, если ошибка связана с привязкой ...)

  • Большинство усилий: получить файл аварийного дампа с клиентской машины и посмотреть управляемое исключение с использованием Windbg и SOS debugging extensions. Получение продуктивными с инструментами, участвующих займет некоторое время, но на положительной стороне будет научит вас ценные навыки отладки ниндзя, которые позволят вам решить почти любой «таинственное крушение» ...

BTW, все стандартные «зависимости VB» являются частью стандартной установки .NET Framework, поэтому это не ваша проблема - только точное исключение (и, возможно, трассировка стека) расскажет вам, что происходит.

0

Является ли dll, содержащий элемент управления, распространяемым вместе с вашим приложением? Возможно, у вас есть зависимость от GAC, которой вы не хватает?

+0

Спасибо за ваш ответ. Я знаю, что это хромой вопрос, но как я могу проверить зависимость в GAC? – neo2862 2008-10-31 08:05:07

1

Нажмите «Какие данные содержит этот отчет об ошибке?» и будет более описательная информация. (т. е. тип сброшенного исключения, модуль и т. д.).

Для получения дополнительной информации см Dr. Watson vs. CLR.

Смежные вопросы