Сериализация и поддиректория
От: Sulimxar  
Дата: 12.04.05 20:27
Оценка:
Вот столкнулся с неожиданной проблемой:
Я десериализирую массив объектов примерно таким образом
FileStream fsr = new FileStream("DataFile.dat", FileMode.Open);
BinaryFormatter formatterr = new BinaryFormatter();
PluginContainer pcp = (PluginContainer) formatterr.Deserialize(fsr);

PluginContainer — это класс-оболочка для вышеупомянутого массива объектов.
собсвенно имеет тока public property для доступа к массиву (он private)

Пока все ок. Но вот где загвоздка:
Объекты массива созданы динамически из классов, экспортируемых dll-ками
расположенными в директории Plugins\ моей программы. Так вот в процессе
десериализации генерится исключение, что сборки классов (т.е. мои dll-ки)
не найдены. Причем, если скопировать эти dll-и непосредсвенно в диру моей проги
— все замечательно работает. В MSDN так ничего по этому поводу
не накопал. Как заставить сериализатор заглянуть в мою диру Plugins\ ?

Исключение происходит во второй строчке приведенного кода. Буквально досимвольно:

"An unhandled exception of type
'System.Runtime.Serialization.SerializationException' occured in
PCPulse.exe

Additional information: Cannot find assembly PCP_DClock,
Version=бла-бла-бла... PublicKeyToken=null"


Может кто сталкивался? подскажите пожалуйста
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.