根据 windows ce 中的设备使用 dll 引用

Using dll references depending on device in windows ce

我正在 CHD 和 Honeywell 的 windows ce 设备上使用 c# 和 compact framework 2.0 创建条码扫描项目。为了让项目在两种设备上都能工作,我需要创建两个单独的项目,因为它们需要不同的 dll refreneces。但我想知道是否可以引用仅在检测到正确设备时才需要的 dll,例如,只有当设备是 CHD 时才会调用 cetrain 函数,如果设备是 Honeywell 则调用其他函数。

看看这个问题。我在那里发布了一个可能也适用于您的情况的答案:

总而言之,如果您可以定义扫描的通用抽象,那么您就可以使用程序集 class 动态加载您需要使用的特定于设备的 dll。

我们过去曾使用 pocketMEF、抽象层和针对不同硬件的不同 'plugin' DLL 来完成此操作。

一篇文章位于 http://www.hjgode.de/wp/2012/02/16/mobile-development-compact-framework-managed-extension-framework-mef/ and this answer

如果您想要特定于条码扫描仪的示例,请查看 OpenNETCF Scanner Compatibility library on CodePlex。它具体展示了如何根据您使用的硬件加载正确的扫描器参考库,并允许单个 UI 代码库仅使用一次调用来获取扫描器对象。