Тип "Microsoft.CompactFramework.Design.UnsafeControl" не имеет свойства с именем
Я получаю эту ошибку при открытии конструкторского представления формы, в которой имеется Honeywell DecodeControl (для сканера штрих-кодов Honeywell - Dolphin 6100, если кому-то интересно).
Я погуглил это до смерти и сделал следующее:
добавил файл XMTA с этим в этом:
<?xml version="1.0" encoding="utf-16"?>
<Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
<Class Name="Honeywell.DataCollection.WinCE.Decoding.DecodeControl">
<Description></Description>
<DesktopCompatible>true</DesktopCompatible>
<DesignTimeVisible>true</DesignTimeVisible>
</Class>
</Classes>
Установите действие сборки XMTA на "none"
Игнорирование первой ошибки по-прежнему дает мне "Ссылку на объект, не установленную для экземпляра объекта".
Это не помогло вообще.
После некоторого длительного поиска в Google это, похоже, связано с элементами управления, которые зависят от устройства, и эта ошибка, как предполагается, останавливает все, что может вызвать нестабильность в конструкторе... за исключением того, что этот элемент управления работал в конструкторе весьма успешно день на работе, потом, когда я прихожу домой, это бросает в меня это. Ничего не изменилось - тот же компьютер разработчика, то же устройство, тот же проект, тот же код, что и при последнем сохранении на работе.
Я даже не пытаюсь отладить устройство на рабочем столе или в эмуляторе - устройство подключено через USB-док-станцию.
Буквально единственное, что изменилось, это то, что аппарат dev подключен к моей домашней сети по беспроводной сети, а не через CAT5 для рабочей сети. И я не вижу, чтобы это было хоть как-то связано с этим.
На более связанной ноте рассматриваемый элемент управления никогда не обнаруживался в наборе инструментов после того, как я выбрал Выбрать элементы -> проверить элемент управления. Не уверен, если это связано.
Кто-нибудь может пролить свет?
Я могу опубликовать дизайнерский код, если это необходимо.
Спасибо
3 ответа
Оказывается, я нацелился не на ту платформу для устройства - VS решил по собственному желанию, что мне нужно нацелиться на 3.5 вместо 2.0. Переключил обратно и все хорошо.
У меня такая же проблема в VS2102 с WEC2013.
И без P/Invoke, но с пользовательским элементом управления, полностью управляемым кодом.net. Проблема в свойствах Enum моего пользовательского элемента управления. И никакого решения пока нет.
Я столкнулся с этой ошибкой, но она была вызвана моей игрой с API MessageBeep в форме. Хотя эта форма никак не связана с моими пользовательскими элементами управления или компонентами, просто наличие этой ссылки на пространство имен Interop в форме повредило все элементы управления в моем приложении и сделало невозможным их просмотр в конструкторе.
Мораль этой истории - НЕ ИСПОЛЬЗОВАТЬ Interop IN CE (PInvoke).
Это было страшно. Просто на голову любой другой несчастной душе, пытающейся издать звуковой сигнал.