У меня необычная проблема с загрузкой сборки.Допустим, у нас есть Foo.dll, которая ссылается на версию 1.0.0.0 FooInfra.dll, которая является строгим именем со знаком.
Мы используем внешний исполняемый файл для загрузки Foo.dll и вызова в нем MyMethod ().По какой-то причине при запуске exe-файла в определенном режиме, назовем его «Режим A», MyMethod () успешно запускается, даже если FooInfra.dll версии 2.0.0.0 была случайно развернута.Если запустить его в «режиме B», мы получим ожидаемую ошибку, что правильная сборка не была найдена.
Мой вопрос: как это возможно?Я думал, что со строгими именованными сборками должна использоваться правильная версия.Я уже подключил с помощью windbg, чтобы убедиться, что он не загружает FooInfra.dll из другого места в режиме A, и это не так - это действительно загрузка версии 2.0.0.0.
Возможно ли, что в режимеО, внешний исполняемый файл явно загружает DLL, минуя строгую проверку имени при запуске MyMethod, поскольку сборка загружается только?
Любое понимание проблемы или способы отладки / диагностики будет с благодарностью.Спасибо!