В книгах я часто читал о том, что если в .NET сборках меняется мажор или минор версия, то сборки становятся несовместимы между собой, а если меняется версия билда и ревижн-версия, то сборки совместимы. До сих пор я считал, что подобный механизм обеспечивается самим .NET и он на основе версии сам сможет понять какую сборку в память тянуть, а какую нет.
Сейчас столкнулся с тем, что на практике это неработает. Возможно я неправильно понял написанное в книгах и это были рекомендации для программистов?