Когда я пробежал 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? Если да, то как?
Проверьте, если у вас есть один и тот же узел, на который ссылается в приложении окна не только в корневой папке, но и в GAC ... Если вы установили эту сборку - это может быть, что один в вашей глобальной кеш сборки устарел, и вам нужно его удалить или обновить. – Mez
@Mez Я понимаю, но мой вопрос заключается не в недостающей DLL. Речь идет о том, как использовать VS для достижения этого решения. – Sabuncu
Это похоже на дубликат: http://stackoverflow.com/questions/7572995/how-can-i-get-winforms-to-stop-silently-ignoring-unhandled-exceptions или, по крайней мере, очень релевантный. –