Если это строгое имя, то вы не сможете использовать перенаправление сборки для чего-либо, кроме различий в версиях. Однако вы можете использовать событие AppDomain.AssemblyResolve для предоставления сборки в ответ на ошибку привязки запрошенной сборки.
Я на самом деле пробовал это как подтверждение концепции, когда пытался поддерживать сборки .NET 2.0, которые ссылались на сборку MEF CodePlex в приложении .NET 4, которая ссылалась на выпущенную сборку MEF. Вот ссылка на мой вопрос , на который кто-то ответил этой злой уловкой.
Тем не менее, это все очень сложно, и я не чувствую себя комфортно, делая это в реальном приложении. Можете ли вы извлечь свои интерфейсы в отдельную сборку, а затем использовать какое-то внедрение зависимости, такое как MEF или Unity, для динамической загрузки типов, реализующих эти интерфейсы?