Проблемы после обновления с приложения .NET Compact Framework 2.0 до 3.5 - PullRequest
0 голосов
/ 29 декабря 2011

Я попытался поднять свое приложение CF2.0 (VS2005) до CF 3.5 (VS2008), выполнив следующие шаги:

  • изменил устройство с Windows Mobile 6.0 на Windows Mobile 6.5.3 DTK
  • изменена структура с CF 2,0 до 3,5

Компиляция прошла успешно. Когда я пытаюсь запустить его, я получаю InvalidProgramException при запуске. Исключение выдается, когда я пытаюсь установить Datagrid как владельца DataGridTextBoxColumn. <- странно </p>

Я использовал PEVerify из Windows 7.0a SDK и получил несколько ошибок. С ILDASM я смог найти соответствующие классы

[MD]: Error: TypeRef has a duplicate, token=0x010000c4. [Token:0x01000011] -> System.Windows.Forms.DataGrid
[MD]: Error: TypeRef has a duplicate, token=0x010000c3. [Token:0x0100006B] -> System.Windows.Forms.DataGridTextBoxColumn
[MD]: Error: TypeRef has a duplicate, token=0x010000ca. [Token:0x0100006C] -> System.Windows.Forms.DataGridColumnStyle
[MD]: Error: TypeRef has a duplicate, token=0x0100006b. [Token:0x010000C3]
[MD]: Error: TypeRef has a duplicate, token=0x01000011. [Token:0x010000C4]
[MD]: Error: TypeRef has a duplicate, token=0x0100006c. [Token:0x010000CA]

Как это могло произойти и как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 02 января 2012

Проблема была вызвана использованием ilmerge.Я использовал ilmerge, чтобы объединить все мои библиотеки в exe, чтобы уменьшить проблемы с развертыванием.Как кажется, ilmerge не работает должным образом со сборками cf 3.5.

0 голосов
/ 29 декабря 2011

Попробуйте:

  • Перейдите к своей форме.

  • Запишите имя этого элемента управления DataGrid (т. Е. dataGrid1), затем удалите DataGrid.

  • Перейдите на панель инструментов.

  • Перетащите еще одну DataGrid на форму.

  • Дайте DataGrid то же имя, что и у вашего исходного DataGrid.

  • Снова подключите события DataGrid.

...