2015-08-28 2 views
1

Я создаю проект сканирования штрих-кода с использованием C# и компактной рамки 2.0 на устройствах Windows ce из CHD и Honeywell. для того, чтобы проект работал на обоих устройствах, мне нужно было создать два отдельных проекта, потому что им нужны разные dl refreeces. но мне было интересно, можно ли ссылаться на DLL, которая нужна только тогда, когда обнаружено правильное устройство, например, функции cetrain вызываются только в том случае, если деление является CHD и другими, если это устройство Honeywell.Использование ссылок dll в зависимости от устройства в windows ce

+0

будет компилировать проект, если ссылается только на один набор dll? – wiero

+0

Если вы можете определить тип устройства во время выполнения, можно загрузить указанные ссылки. Взгляните на [здесь] (http://www.codeproject.com/Articles/528178/Load-DLL-From-Embedded-Resource). Также вы можете создать свою собственную оболочку для обеих ссылок и внутри этой оболочки делать вызовы в зависимости от типа устройства. – raidensan

+0

@raidensan: Я предполагаю, что этот код не будет работать на Compact Framework – josef

ответ

0

Взгляните на этот вопрос. Я отправил ответ там, что может работать в вашей ситуации, а также:

How to load an assembly from byte array in compact framework

В общем, если вы можете определить общую абстракцию вашего сканирования, то вы можете динамически загружать с помощью класса Ассамблеи DLL в конкретных устройств вам нужно использовать.

1

Если вы хотите пример, специфичную для сканеров штрих-кодов, посмотрите на OpenNETCF Scanner Compatibility library on CodePlex. В нем конкретно показано, как загружать справочные библиотеки правильного сканера в зависимости от того, какое оборудование вы используете, и позволяет одной кодовой базе UI использовать только один вызов для получения объекта сканера.