![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Riddik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Вот структура, которую сериализуем / дсериализуем
Вот ф-ии:
Serialization проходит нормально, а вот на Deserialize вот такая ругань: FileNotFoundException: Could not load file or assembly 'efced4216a226be4aa3c75fdff6ef5e4' or one of its dependencies. The system cannot find the file specified. System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) System.AppDomain.Load (System.String assemblyString) (wrapper remoting-invoke-with-check) System.AppDomain:Load (string) System.Reflection.Assembly.Load (System.String assemblyString) System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetDeserializationType (Int64 assemblyId, System.String className) System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadTypeMetadata (System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean hasTypeInfo) System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectInstance (System.IO.BinaryReader reader, Boolean isRuntimeObject, Boolean hasTypeInfo, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObject (BinaryElement element, System.IO.BinaryReader reader, System.Int64& objectId, System.Object& value, System.Runtime.Serialization.SerializationInfo& info) System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject (BinaryElement element, System.IO.BinaryReader reader) System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph (BinaryElement elem, System.IO.BinaryReader reader, Boolean readHeaders, System.Object& result, System.Runtime.Remoting.Messaging.Header[]& headers) System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) Что я делаю не так, подскажите, пожалуйста? |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
ну не может найти файл дересериализации... он по идее должен автоматом генерироваться... ну лучше, конечно, самому сгенить используя sgen утилиту (входит в поставку .net fx)
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Я на C# + .Net гость непостоянный, можете поподробнее, что оно ещё хочет? Как-нибудь как можно малой кровью, только бы кодом как0нибудь можно обойтись, без утилит?
Может массив мешает - размер заранее не известен, вот и разный typeid у структуры, нет, не может быть? Как оно тут у .Net... Это сообщение отредактировал(а) Riddik - 7.7.2011, 23:35 |
|||
|
||||
| WarHog |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.10.2007 Где: Воронеж Репутация: нет Всего: 2 |
Riddik, судя по всему, у тебя Save и Load разнесены по разным проектам? Такое ощущение, что LevelData определена два раза - и для проекта с Save, и для проекта с Load - с одной и той же структурой. Если это так, то для бинарной сериализации нужно общая структура, например, вынесенная в отдельный проект.
--------------------
|
|||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
WarHog, всё в одном проекте, более того - структура в одном файле с этими двумя ф-ми.
Добавлено через 7 минут и 46 секунд Добрый человек тут мне подсказал, что "после каждой перекомпиляции чего-нить в проекте, у вас меняется имя ассембли, которой принадлежит эта сохраняемая структура, поэтому загрузить её обратно становится невозможно." |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
ну если у вас прописана версия то да. Версию поищите как определяете (обычно в файле AssemblyInfo.cs) - если там стоит нечто вроде 1.0.*.*) то она меняется каждый раз при сборке. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Все так и есть, если в одной и той же сборке, то всё работает.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |