Здравствуйте, hard.disk, Вы писали:
HD>Здравствуйте, ZeBeSt, Вы писали:
ZBS>>Здравствуйте, hard.disk, Вы писали:
HD>>>А если перед десериализацией вставить строку Assembly.Load("полный путь к Cds.Service.Core")?
ZBS>>Дело в том, что вышеприведенный код сам содержится в этой сборке
HD>Это я понял, а ты попробуй.
HD>На форумах МСДНа был пост со схожей проблемой.
Проблема решена !!!.
Даю описание.
Разрабатываемый модуль для отладки запускается внешним приложением.
Причем приложение и модуль находятся в разных папках.
Не буду вдаваться в объяснения, но надо именно так.
Вследствие этого видимо фреймворк не может самостоятельно разрулить ситуацию и ему приходится помогать.
Волшебная таблетка заключается в следующем:
в инициализации добавляем строки:
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve +=new ResolveEventHandler(CurrentDomain_AssemblyResolve);
И такой обработчик:
private System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
System.Reflection.Assembly[] asms = AppDomain.CurrentDomain.GetAssemblies();
for (int i = 0; i < asms.Length; ++i)
{
if (asms[i].FullName == args.Name)
return asms[i];
}
return null;
}
Все работает!