Как сделать внешнюю сборку доступной во время выполнения? - PullRequest
0 голосов
/ 05 января 2011

Я задал вопрос здесь , и, очевидно, проблема в том, что я могу загрузить сборку, используя Reflection's Assembly.LoadFile или Assembly.LoadFrom, и получить тип внутри этой сборки, сборка все еще недоступна в все приложение. Поэтому, когда WPF пытается разрешить тип, он не находит этот тип, потому что не находит сборку.

У меня вопрос: могу ли я ссылаться на сборку во время выполнения, чтобы она была разрешима WPF?

1 Ответ

0 голосов
/ 07 января 2011

Решение, которое работает для меня, заключается в обработке события CurrentDomain.AssemblyResolve

AppDomain.CurrentDomain.AssemblyResolve += 
    new ResolveEventHandler(OnAssemblyResolveFailure);

Assembly OnAssemblyResolveFailure(object sender, ResolveEventArgs args)
    {
        AssemblyName name = new AssemblyName(args.Name);
        Assembly assembly = .. //some logic here to load the assembly from assembly name
        return assembly;
    }

Таким образом, если приложение не может определить имя сборки, оно вызовет ваш обработчик, чтобы найти его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...