使用Symbol / Motorola Fusion dll时出错 - WinCE 6.0

时间:2011-04-29 06:46:32

标签: c# windows-ce

当我从Visual Studio运行任何项目时,它运行良好(在Motorola MC 3190上 - WinCE 6.0)

但是,当我在设备上安装并运行应用程序时,出现此错误:

  

未找到兼容的FusionInterface dll,预期版本为4.1.0.1或更高版本,格式为4.x.x.x

可能是什么问题?

4 个答案:

答案 0 :(得分:2)

在我的情况下,在与我的可执行文件相同的目录中部署Symbol.Fusion.dll和FusionInterface.dll文件已解决此错误。

答案 1 :(得分:1)

您必须安装symbol.all.arm.cab文件。如果您使用的是Windows CE ,那么您需要 armv4 版本。如果您使用的是Windows Mobile ,那么您需要 armv4i 版本。

另外,请确保应用程序目录中没有DLL的本地副本;这可能会导致版本不匹配。

答案 2 :(得分:0)

添加对Symbol.ResourceCoordination的引用对我有用。根据Motorola EMDK v2.9附带的CS_FusionSample1代码示例,相关的符号引用为SymbolSymbol.FusionSymbol.ResourceCoordination

注意,我正在为Windows CE 6.0下的Motorola 9190手持设备构建。

答案 3 :(得分:0)

Fusion Interface DLL版本兼容性

EMDK for .NET通过Fusion接口DLL访问Fusion Public API,如概述部分所述。可以有不同版本的Fusion Public API,以及许多版本的Fusion Interface DLL。

版本不兼容问题

如果此DLL与EMDK不兼容,则在尝试访问Fusion时,异常中将提供相应的有意义的错误消息。创建配置和WLAN对象时会发生这种情况。

可能的消息

发现较旧且不兼容的FusionInterface dll 1.0.0.1。预期版本为2.0.0.3或更高版本,格式为2.x.x.x

找到更新且不兼容的FusionInterface dll 3.1.0.5。预期版本为2.0.0.3或更高版本,格式为2.x.x.x

解决方案

由于从不同的EMDK软件包中获取的两个文件(Fusion Interface DLL和Fusion Assembly DLL),导致DLL版本不兼容。要解决此问题,

方法1:

删除"符号管理类库"使用"删除程序"在设备的控制面板中。

检查" \ Windows"任何存在的设备的文件夹" FusionInterface.dll"若然,删除它。

采取" symbol.all.arm.cab"从EMDK安装位置,复制到设备并运行安装。

典型位置是" \ Program Files \ Enterprise Mobility Developer Kit for .NET \ v2.x \ SDK \ Smart Devices"的相应子目录(wce400 \ armv4或wce500 \ armv4i)。

运行该应用程序。

方法2:

将相应的DLL复制到设备的\ Windows目录中。

运行应用程序

注意:此DLL在EMDK for .NET软件包中不单独提供。