Да, похоже, мне нужно вручную загрузить сборку, так или иначе.
Я нашел одно решение - подписаться на событие AssemblyResolve в домене приложения. Это событие возникает, когда сборка не найдена и позволяет вам предоставить ее вручную.
- Перерегистрация обработчика событий, как этот
AppDomain.CurrentDomain.AssemblyResolve + = MyResolveEventHandler;
статическая сборка MyResolveEventHandler (отправитель объекта, аргументы ResolveEventArgs)
{
return Assembly.LoadFrom (@ "OldAsm \ Asm.dll");
}
- Как только код, который использует определенный код, будет достигнут, .NET Framework попытается загрузить сборку, произойдет сбой и вызовет обработчик (MyResolveEventHandler).
Я бы продолжал искать способ найти правильную ссылку без необходимости писать какой-либо код и без необходимости помещать что-либо в GAC. Если кто-нибудь найдет способ, пожалуйста, опубликуйте его.
Спасибо