我正在CHD和霍尼韦尔的windows ce设备上使用c#和compact framework 2.0创建条形码扫描项目。为了让项目在两个设备上工作,我需要创建两个独立的项目,因为它们需要不同的dll refreneces。但是我想知道是否可以引用只有在检测到正确的设备时才需要的dll,例如,如果设备是CHD则仅调用cetrain函数,而如果设备是Honeywell则调用其他函数。
答案 0 :(得分:1)
如果您想要一个特定于条形码扫描仪的示例,请查看OpenNETCF Scanner Compatibility library on CodePlex。它具体说明了如何根据您使用的硬件加载正确的扫描仪参考库,并允许单个UI代码库仅使用一次调用来获取扫描仪对象。
答案 1 :(得分:0)
看看这个问题。我在那里发布了一个可能适用于您的情况的答案:
How to load an assembly from byte array in compact framework
总之,如果您可以定义扫描的通用抽象,那么您可以使用Assembly类动态加载您需要使用的特定于设备的dll。
答案 2 :(得分:0)
我们过去使用pocketMEF,一个抽象层和不同的插件'不同硬件的DLL。
文章位于http://www.hjgode.de/wp/2012/02/16/mobile-development-compact-framework-managed-extension-framework-mef/,此答案为https://stackoverflow.com/a/29443287/1479943