2015-02-08 7 views
2

Когда я пробежал C# WinForms исполняемых за пределы среды разработки Visual Studio в первый раз, я получил следующий диалог:Отладка .NET авария, что не происходит в среде разработки Visual Studio

"<Application> has stopped working, Windows can check online..." 

Так что я прикрепленный к процессу с использованием приложения Visual Studio к процессу, который показал, что программа была приостановлена ​​в пределах InitializeComponent() (но не предоставила дальнейших подсказок).

я редактировал приложение, поставил попробовать/поймать блок вокруг вышеупомянутого кода, который позволил мне напечатать следующий MessageBox вывод:

Как вы можете видеть, это свидетельствует о том, что приложение не может найти нужную DLL.

Мой вопрос: мог ли я достичь этого результата без изменения приложения (т. Е. Без блока try/catch, распечатывающего специфику)? Может ли Visual Studio Attach to Process функционировать для меня, чтобы конкретная проблема была отсутствующей DLL? Если да, то как?

+0

Проверьте, если у вас есть один и тот же узел, на который ссылается в приложении окна не только в корневой папке, но и в GAC ... Если вы установили эту сборку - это может быть, что один в вашей глобальной кеш сборки устарел, и вам нужно его удалить или обновить. – Mez

+0

@Mez Я понимаю, но мой вопрос заключается не в недостающей DLL. Речь идет о том, как использовать VS для достижения этого решения. – Sabuncu

+0

Это похоже на дубликат: http://stackoverflow.com/questions/7572995/how-can-i-get-winforms-to-stop-silently-ignoring-unhandled-exceptions или, по крайней мере, очень релевантный. –

ответ

3

Эта информация может быть найдена из журналов сварки, если вы их активируете. Журналы Fusion полезны при диагностике сбоя загрузки сборок из-за отсутствия зависимостей.

Кроме того, иногда у зрителя событий есть полезная информация.

https://msdn.microsoft.com/en-us/library/e74a18c4%28v=vs.110%29.aspx

+0

Большое спасибо. (Кроме того, ваше сообщение в блоге Jan 12 действительно полезно!) – Sabuncu

+0

@Sabuncu: thanks sir. –