C# | Поймать исключение из динамически загруженной DLL - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь написать C# (WPF - не то, чтобы это имело значение в этом контексте) приложение, которое динамически загружает DLL, используя этот код:

private Assembly GetAssembly(string assemblyPath)
    {
        AssemblyName assamblyName = AssemblyName.GetAssemblyName(assemblyPath);
        return AppDomain.CurrentDomain.Load(assamblyName);
    }

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

Примечание: динамически загружаемая dll также была написана мной, так что я знаю, факт, что возникает исключение

Раздел try / catch выглядит так

                try
                {
                    result = aseInstance.Compile();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

Я также пытался использовать следующий код:

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

, но не сделал help ..

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

Если я делаю то же самое, используя ссылки, все работает, и исключение ловится

Я бы хотел здесь помочь! Спасибо

...