Просто несколько подсказок, это не кристалл из стековой трассировки.Код, который терпит неудачу, живет внутри CLR и написан на C ++, поэтому вы получаете несовершенную трассировку стека.Первое, что нужно сделать, это взглянуть на окно «Вывод», вероятно, вы видите уведомление об исключении «первый шанс».Возможно для 0xc0000005, исключение нарушения прав доступа.Затем вы можете получить больше информации, включив отладку неуправляемого кода (Project + Properties, вкладка Debug), включив сервер символов Microsoft (Tools + Options, Debugging), а затем отметив флажки Thrown в Debug + Exceptions, чтобы отладчик остановился нанеуправляемое исключение.Там не будет никакого кода для просмотра, но трассировка стека может выявить подсказку.
Если это не удастся, это поможет понять, что происходит не так.Код, который терпит неудачу, обходит стек, ища кадры стека, чтобы убедиться, что код, который вызывает метод, имеет надлежащие права доступа.Этот код может потерпеть неудачу, когда стек поврежден.Это очень редко, управляемый код не портит стек.Проблема в том, что не весь ваш код управляется.То, что торчит, это RhDN_NativePlugInBase <>. OnLoadPlugIn ().Написано на C ++ / CLI, так что есть много шансов для чего-то вроде переполнения буфера стека.Может быть что-то глупое, как путь к плагину, который слишком длинный, более 259 символов.Код C ++ часто сходит с ума по этому поводу.
Еще один очень сильный намек на то, что эта функция портит стек, - это сама трассировка стека.Останавливается слишком рано, не показывая, кто вызвал OnLoadPlugin.Это почти наверняка нарушитель спокойствия.Исправлять это будет неприятно, вам понадобится исходный код этой библиотеки и отладка кода C ++ / CLI.Отказ от библиотеки, возможно, должен быть на первом месте в вашем списке.