使用VS2008升级符号MC32N0:“InvalidCastException”

时间:2015-09-17 19:45:57

标签: c# embedded compact-framework windows-ce barcode-scanner

我不得不为运行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”错误。不知道为什么。

为什么?

1 个答案:

答案 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升级。