Откуда происходит исключение с пустым стеком вызовов?C#

Место общения программистов C#
Ответить
Anonymous
 Откуда происходит исключение с пустым стеком вызовов?

Сообщение Anonymous »

Я отлаживаю старое приложение Winforms, работающее на .net 4.8, которое использует некоторые компоненты COM. Иногда он бросает это исключение, а затем сбои: < /p>

system.io.filenotfoundexception: «Не удалось загрузить файл или сборку» Newtonsoft.json, версия = 10.0.0.0, культура = нейтральная, publickeytoken = 30ad4b2a6aeed 'или одна из ее зависимости. Система не может найти указанный файл. Также странно imo, ни Application.ThreadException , ни appdomain.currentdomain.unhandledexception (с Application.SetunHandledExceptionMode (UnledledExceptionMode.catchException) ) увидеть это исключение. Во -первых (и, возможно, попытаться обновить его до более новой версии ...), и я не могу выяснить, как.
Когда точка останова в appdomain.currentdomain.assemblyresolve Handler нажимает, он показывает null в качестве запроса сборки и имеет 4 строки в стеке Call Stacker:
wress> и имеет 4 строки в стеке Call:
и имеет 4 строки.

Код: Выделить всё

>   MyAwesomeApp.exe!MyAwesomeApp.Program.CurrentDomain_AssemblyResolve(object sender, System.ResolveEventArgs args) Line 46    C#
mscorlib.dll!System.AppDomain.OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly assembly, string assemblyFullName)   Unknown
[Native to Managed Transition]
[Managed to Native Transition]
Что может это вызвать, и как бы я его отладил? Когда это так, это показывает для newtonsoft.json вызов сборки: someotherdll, version = ... и для некоторого другого

Код: Выделить всё

MyAwesomeApp
вызывает метод из comcomponent1 (.net -> c ++). Этот метод вызывает .NETHETHERDLL , через com (c ++ -> .net). И что .NET DLL ищет newtonsoft.json , просто не там, где есть какой -то OtherDll.dll , а скорее там, где Myawesomeapp.exe . Есть ли способ получить эту информацию, не просматривая исходный код C ++? Свойства , а не в параметрах отладки).

Код: Выделить всё

>   MyAwesomeApp.exe!MyAwesomeApp.Program.CurrentDomain_AssemblyLoad(object sender, System.AssemblyLoadEventArgs args) Line 58  C#
mscorlib.dll!System.AppDomain.OnAssemblyLoadEvent(System.Reflection.RuntimeAssembly LoadedAssembly) Unknown
[Native to Managed Transition]
clrjit.dll!709143bc()   Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for clrjit.dll]
clrjit.dll!7090a5be()   Unknown
[Managed to Native Transition]
[Native to Managed Transition]
COMCOM~1.DLL!100252ee() Unknown
COMCOM~1.DLL!100250b1() Unknown
он говорит мне, что Comcomponent1 задействован, но, к сожалению, не о каком -то другое>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -come-from
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»