Я не думаю, что вы можете использовать событие AppDomain.AssemblyResolve, но вы можете попробовать с использованием MEF для разрешения фактической реализации с использованием DirectoryCatalog .
Таким образом, ваш код SVC позади (или вы можете удалить код позади и указать свой SVC на класс в отдельной сборке) будет выглядеть примерно так (непроверено). Я не пробовал этот конкретный метод, но не вижу причин, по которым он не будет работать.
public class YourServiceClass : YourServiceContract
{
[Import]
private IContract Implementation { get; set; }
private DirectoryCatalog _directoryCatalog = null;
private CompositionContainer _container = null;
public YourServiceClass()
{
_directoryCatalog = new DirectoryCatalog(YourDirectoryPathHere);
_container = new CompositionContainer(_directoryCatalog);
_container.ComposeParts(this);
}
//Operation
public void DoSomething()
{
Implementation.DoSomething();
}
}
Вы также можете переместить код MEF в базовый класс, если это имеет смысл. Если вы новичок в MEF, вот учебник по использованию MEF с каталогом каталогов .