Получение ошибки TypeConverter, которая не имеет смысла

У меня есть TypeConverter для класса TopMostNode. Он расширяет ExpandableObjectConverter. TopMostNode имеет два свойства. Их установка в сетке свойств приводит к правильно сериализованному коду для конструктора. Однако, если я ввожу текст для свойства, я получаю сообщение об ошибке «Недопустимое значение свойства», а в деталях говорится:

Объект типа «TopMostNode» не может быть преобразован в тип «TopMostNode».

Я сбит с толку. Когда я выполняю код преобразователя типов ConvertFrom, он работает, как и ожидалось. Я даже не знаю, стоит ли начинать искать такую ​​​​проблему.


person Greg McGuffey    schedule 16.03.2010    source источник


Ответы (2)


Вероятно, у вас загружены две разные версии одной и той же сборки.

person SLaks    schedule 16.03.2010
comment
См. stackoverflow.com/questions/2450087/ - person SLaks; 16.03.2010
comment
Я проверил, и проект расширяемости ссылается на сборку, над которой я работаю. Есть ли способ узнать, загружено ли более одного? - person Greg McGuffey; 16.03.2010
comment
Прикрепите вторую копию VS к первой, разбейте исключения, затем проверьте объекты Type и Assembly на наличие значения и свойства. - person SLaks; 16.03.2010

У меня была такая же проблема при разработке элемента управления для клиентского профиля .NET Framework 4.0, когда вся функциональность времени разработки находилась в отдельной DLL. Проблема возникла, когда я загрузил оба проекта (основной элемент управления и его часть времени разработки) как одно решение в VS. Однако все работало нормально, когда я пытался использовать скомпилированную производственную версию своего элемента управления в других проектах.

Вывод следующий: прежде чем начинать отлаживать свой код TypeConverter, попробуйте использовать скомпилированную версию вашего контрола вне проектов разработки контрола.

P.S. Чтобы получить функциональность времени разработки, доступную для моего элемента управления во время его разработки, я поместил DLL части времени разработки в папку PrivateAssemblies VS.

person TecMan    schedule 17.03.2015