我不得不为运行Windows Embedded Compact 7的Symbol Mobile Computer(MC32N0)升级我的C#应用程序,这是为运行CE 5.0和CE 6.0的MC3090编写的。
因此,我不得不从Visual Studio 2005迁移到Visual Studio 2008,因为2008年有Compact Framework 3.5。 (Embedded Compact 7附带CF3.5)
所以我编译了我的应用程序没有错误或警告,事情看起来很棒,我去安装应用程序到设备,打开我的应用程序,并得到“InvalidCastException”错误。不知道为什么。
为什么?
答案 0 :(得分:3)
我会告诉你为什么......
出于某种原因,Visual Studio 2008决定将一个ISupportInitialize接口强制转换为我的numQty对象/类。
(此应用程序适用于库存,因此我必须创建自己的numQty,以便用户可以单击“向上箭头”添加数量,或“向下”以减少任何给定部件的数量。也许因为它是VS2008决定惹我生气的“特别”。)
这是Visual Studio所做的,我注释掉了:
private void InitializeComponent()
{
...
//((System.ComponentModel.ISupportInitialize)(this.numQty)).BeginInit();
//((System.ComponentModel.ISupportInitialize)(this.numQty)).EndInit();
...
}
我所要做的就是在InitializeComponent()方法中注释掉这两行,它位于Form的Designer类(frmMain.Designer.cs)中。
希望这有助于其他Symbol MC32N0开发人员从MC3090升级。