当我从Visual Studio运行任何项目时,它运行良好(在Motorola MC 3190上 - WinCE 6.0)
但是,当我在设备上安装并运行应用程序时,出现此错误:
未找到兼容的FusionInterface dll,预期版本为4.1.0.1或更高版本,格式为4.x.x.x
可能是什么问题?
答案 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代码示例,相关的符号引用为Symbol
,Symbol.Fusion
和Symbol.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软件包中不单独提供。