it-roy-ru.com

vshost32.exe перестал работать, когда я вызываю метод ShowDialog OpenFileDialog

У меня есть приложение на C #, я делаю последний тест.

Но теперь функция, которая до сих пор работала до сих пор, больше не работает!

У меня есть кнопка, когда я нажимаю на нее, я хочу просмотреть файлы, я вижу окна "Открыть файл", а через полсекунды я получаю неперехваченную визуальную студийную ошибку:

перестал работать vshost32.exe:

Извините, но ошибка происходит на французском локализованном компьютере:

Signature du problème :
  Nom d’événement de problème:  APPCRASH
  Nom de l’application: TOM.vshost.exe
  Version de l’application: 10.0.30319.1
  Horodatage de l’application:  4ba2084b
  Nom du module par défaut: ntdll.dll
  Version du module par défaut: 6.1.7600.16695
  Horodateur du module par défaut:  4cc7ab44
  Code de l’exception:  c0000008
  Décalage de l’exception:  0004631f
  Version du système:   6.1.7600.2.0.0.256.48
  Identificateur de paramètres régionaux:   4108
  Information supplémentaire n° 1:  ffb6
  Information supplémentaire n° 2:  ffb61531feaa1f65f528a2694a510c22
  Information supplémentaire n° 3:  b220
  Information supplémentaire n° 4:  b2205da238309b0a025a25162a3a18f3

Мой код:

OpenFileDialog ofd = new OpenFileDialog {Filter = Filters};
if (ofd.ShowDialog() != true) {
    return;
}

это сбой только когда я в ofd.ShowDialog.

Это проблема, связанная с кодом?

У вас есть идеи о том, как отлаживать? Или вообще как это отладить ??

При активации "неуправляемого кода для отладки", я получил это:

"First-chance exception at 0x77cd631f in TOM.exe: 0xC0000008: An invalid handle was specified."

Трассировка стека, если это может помочь:

>   ntdll.dll!77cd631f()    
    [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] 
    ntdll.dll!77d1792d()    
    ntdll.dll!77ce343b()    
    ntdll.dll!77ce2d80()    
    ole32.dll!776b4102()    
    ole32.dll!776b411e()    
    ole32.dll!7767e505()    
    SearchFolder.dll!1046b49d()     
    SearchFolder.dll!1046b267()     
    Shell32.dll!76281cb7()  
    Shell32.dll!761701b6()  
    Shell32.dll!761991fd()  
    Shell32.dll!761d61ee()  
    Shell32.dll!761d6159()  
    System.ni.dll!524c4ed4()    
    shlwapi.dll!77b6b6cf()  
    ntdll.dll!77cbb428()    
    ntdll.dll!77cbe6f9()    
    kernel32.dll!77c01114()     
    ntdll.dll!77ceb429()    
    ntdll.dll!77ceb3fc()    

Некоторые вещи, которые я пробовал:

Важный новый момент: Кажется, что ошибка не возникает, когда я запускаю ее без Visual Studio (что кажется логичным)

Важный пункт бис: Похоже, тот же код работает в Visual Studio другого компьютера (который точно такой же и выпущен из того же изображения окон

Я пытался удалить все файлы и сделать GetLatest, но все равно не работает

14
J4N

Я просто переустановил образ этого компьютера, который я сделал после установки, и теперь он работает: /. Очень странно

2
J4N

У меня возникла та же проблема, и я решил "Включить отладку собственного кода" в разделе "Свойства проекта/Отладка/Включить отладчики".

Я думал, что смогу решить проблему, но вместо этого ошибка исчезла.

19
Fleg

Возможно, это ошибка, связанная с расширением Wuala Overlay Shell. Деинсталляция поможет мне.

http://social.msdn.Microsoft.com/Forums/de-DE/a073bbb8-5586-4f75-970f-858d90e069ef/openfiledialogsavefiledialog-crashen?forum=wpfde

4
Track

У меня была очень похожая проблема, которая сводила меня с ума на несколько дней. В итоге это был Lenovo Password Manager, который был предварительно установлен на моем ноутбуке. Он перекрывает формы с полями для паролей с помощью баннера запоминания пароля. С момента удаления я не столкнулся с проблемой снова.

Я предлагаю всем, кто сталкивается с этим, проверить, есть ли у вас какое-либо программное обеспечение, которое вообще выполняет наложение, и проверить, является ли это причиной.

2
Richy321

Я помню, что видел нечто похожее на это на компьютере с немецким языком, с нашим французским приложением. Я не могу вспомнить, как мы решили это, но сходство указывает на то, что я проверял локали ... Неверный дескриптор, хотя обычно означает, что вызываемый вами объект уже уничтожен, хотя я действительно не могу угадать, какой объект, как и всегда, должен быть действительным с этой точки зрения.

1
Kheldar

У меня была эта проблема с "VS Express 2013 для Windows Desktop" в проекте VB. В меню DEBUG -> Exceptions ... был проверен пункт. После "Сбросить все" в этом диалоговом окне (снятие отметки со всех) проблема исчезла один раз, но возникла снова в следующий раз. Был 0x4000001f, поэтому я обнаружил Программа и отладчик вышли без указания проблемы . Данный совет снова помог только одному: Project -> Properties -> Debug и выключить "Включить процесс размещения Visual Studio". Позже проблема возникла снова!

1
Horst Schmid

У меня была такая же проблема. Мой код исключения - c0020001. Я решил эту проблему, сбросив все исключения. Для этого перейдите в {Debug -> Exceptions} и там вы можете сбросить все исключения.

0
Kelum Srimal

Решением для меня было добавление нового метода отладки. Вместо AnyCP Я использовал x86 отладка (рядом с кнопкой "Пуск", над которой вы нажимаете Configuration Manager -> Платформа -> Создать - > x86). В то же время я также включил Настройки безопасности ClickOnce в свойствах проекта, чтобы "Это приложение с полным доверием", но не знаю, как это повлияет. Надеюсь, это поможет Сомоне.

0
OskarS