Невозможно создать временный класс (результат = 1). Ошибка CS0433, C #, XmlSerializer - PullRequest
0 голосов
/ 03 ноября 2011

Я генерирую динамические сборки во время выполнения.Эта динамическая сборка имеет несколько классов, которые уже определены в коде другой сборки.Пространство имен общего класса одинаково в обеих сборках.

Теперь, когда я использую XmlSerializer, создается исключение неоднозначности.

Unable to generate a temporary class (result=1).
error CS0433: The type AppName.Common.Objects.Volatility' exists in both 'AppName.Data.Common.dll' and 'AppName\bin\Debug\Volatility.dll'

Любая идея на этот счет.

Заранее спасибо.

С уважением, Dheeraj Verma

1 Ответ

0 голосов
/ 03 ноября 2011

Ваша проблема здесь в том, что у вас есть класс с именем Volatility в пространстве имен AppName.Common.Objects, который присутствует на интерфейсе двух библиотек.

Один из них выглядит как скопированный и имеющий ссылку volatility.dll в каталоге выходных данных отладки, а один был сгенерирован автоматически AppName.Data.Common.dll.

Я подозреваю, что вы найдете класс Volatile в Commonкласс и он содержит dll, но также и внутри volatility.dll.

edit

Я думаю, что ваш единственный путь здесь - явное объявление типа объекта, который выпереход к XMLSerializer.Вам может потребоваться проверить тип объекта и выполнить оператор switch, чтобы вызвать XMLSerializer с правильным типом объекта.

...