Насколько я знаю, дизайнер (который явно не работает на .NET CF) использует элементы управления из полной структуры под капотом. Существует какое-то сопоставление, которое применяет пользовательские атрибуты для .NET CF, используя DesigntimeAttributes.xmta
. Таким образом, им не пришлось переносить всех дизайнеров на CF.
This link показывает, как вы можете сгенерировать DesigntimeAttributes.xmta
с помощью функции «Показать класс диаграммы», а this link содержит дополнительную информацию об изменении файла.
Короче говоря, вы добавляете DesigntimeAttributes.xmta
файл в проект что-то вроде:
<Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
<Class Name="MyProject.MyCustomControl">
<DefaultEvent>MyDefaultEvent</DefaultEvent>
</Class>
</Classes>
Что касается ошибки genasm.exe
вы имеете, this link содержит информацию и шаги, чтобы воспроизвести его. Я создал метод, который возвращает SqlCeCommand
(я предполагаю, что это то, что возвращает ваше свойство CommandCollection
) и получить ту же ошибку. Когда я меняю этот метод на возврат DbCommand
, ошибка исчезает.
Если вы можете уйти с заменой каждого SqlCeCommand
на DbCommand
(и всех других типов из семейства), вы можете захотеть туда добраться, но обходные пути кажутся довольно тяжелыми для добавления события по умолчанию.
Hi Evenhuis, создав файл XMTA, получил ошибку 'genasm.exe (1): ошибка Ошибка инициализации MobileScan.dbDataSetTableAdapters.dbTableAdapter.get_CommandCollection. Не удалось загрузить файл или сборку «System.Data, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 969db8053d3322ac, Retargetable = Yes» или одна из его зависимостей. Система не может найти указанный файл. «Удаление XMTA-файла устраняет ошибку. Это известная проблема? Постскриптум Если я изменил действие сборки с «Нет» на «Содержимое», тогда никакая ошибка, кроме DefaultEvent, не вступила в силу, когда элемент управления дважды щелкнул –
@LionetChen Я не могу думать о причине, по которой он не смог бы загрузить сборку _because_ из XMTA :( –
Кто-то столкнулся с той же проблемой: https://social.msdn.microsoft.com/Forums/en-US/887362ed-4ab1-4671-a485-e86321f6bb62/genasm-error-message-when- add-designtimeattributesxmta-to-my-project? forum = windowsmobiledev –