У меня есть такая ситуация, когда LoadWithPartialName представляется единственной хорошей альтернативой, хотя она помечена как устаревшая.
Во-первых, имейте в виду, что я работаю в очень тесной среде разработчиков с политиками создания версий и развертывания, которые нельзя легко изменить или обойти.
Допустим, есть исполняемый файл .NET, который я не могу контролировать (из другого подразделения). Давайте назовем это клиентским приложением AppA. Версия AppA - 10.11.12.x.
Приложение AppA имеет прямую ссылку на одну из наших библиотек классов, которая предоставляет некоторую услугу вызывающей стороне (возвращает некоторую информацию). Давайте назовем его SvcB, версия также 10.11.12.x.
Теперь отделу AppA не нужно обновлять свою систему так часто, как мы, поэтому версия AppA останется 10.11.12.x в течение некоторого времени, вероятно, до тех пор, пока мы не решим изменить формат класса, которым мы обмениваемся .
Наше подразделение должно чаще менять логику службы SvcB, и версия должна меняться с каждым крупным развертыванием. Допустим, мы изменили логику и развернули новую версию SvcB, 11.02.11.x. AppA будет по-прежнему ссылаться на старую версию, поэтому используемая логика теперь неверна.
Мы думаем о создании нового «фасада» для нашего сервиса. Давайте назовем это SvcFrontB. Версия SvcFrontB останется прежней, синхронно с собственной версией AppA.
Теперь мне нужен SvcFrontB, чтобы загрузить самую последнюю версию SvcB через отражение. Таким образом, я уверен, что всегда используется новейшая логика.
Как мне добиться этого без использования LoadWithPartialName?
Спасибо
Guy