Ошибка загрузки сборки при извлечении из кэша AppFabric - PullRequest
1 голос
/ 12 февраля 2012

Сегодня я столкнулся со странной проблемой при отладке одного из моих проектов. Я использую VS2010 / Windows 7 Home Premium.

У меня есть проект, который использует Windows Server AppFabric Cache. Я все настроил и создал два разных проекта C # (2 решения) для тестирования конфигурации AppFabric. Имена проектов: «AppFabricServer» и «AppFabricClient». Это только для тестирования, и соглашение об именах не означает ничего конкретного. Я использую AppFabricServer для добавления объектов в кэш AppFabric и проект AppFabricClient для извлечения.

Теперь проблема заключается в том, что после запуска «AppFabricServer» и после закрытия «AppFabricServer» я пытаюсь запустить «AppFabricServer», появляется сообщение об ошибке « System.IO.FileNotFoundException: не удалось загрузить файл или сборку «AppFabricServer ». Я не понимаю, каким образом проект "AppFabricServer" связан с проектом "AppFabricClient".

То же самое происходит и наоборот - это означает, что после перезагрузки компьютера, и если я сначала запускаю проект "AppFabricClient" (он также имеет модуль записи в кэш), я не могу запустить проект "AppFabricServer" (он также есть модуль чтения кеша). Я получаю ту же ошибку - «System.IO.FileNotFoundException: не удалось загрузить файл или сборку AppFabricClient».

Исключение выдается в строке, где я пытаюсь извлечь данные из кэша - когда я вызываю метод Get DataCache.

Может кто-нибудь помочь, пожалуйста?

1 Ответ

2 голосов
/ 13 февраля 2012

AppFabric использует NetDataContractSerializer для сериализации объектов.Этот сериализатор кодирует информацию о типе CLR.Таким образом, даже если форма ваших объектов одинакова, на самом деле требуется, чтобы они были одинакового типа в одной сборке.

Таким образом, возьмите объект, который вы сериализуете, из сборки AppFabricServer и поместите его в третью сборку, на которую ссылаются программы AppFabricServer и AppFabricClient.Таким образом, информация о типе CLR будет одинаковой в обоих случаях.

...