Ошибка DllImport: в Mono отсутствует файл winspool.drv? - PullRequest
0 голосов
/ 03 октября 2018

У меня есть приложение, работающее на Raspbian, которое использует RawPrinterHelper.cs (https://github.com/andyyou/SendToPrinter/blob/master/Printer/RawPrinterHelper.cs) для отправки необработанных команд печати ZPL через USB на принтер этикеток Zebra. Отлично работает в Windows.

Я получаюследующая ошибка на Raspbian:

    System.DllNotFoundException: winspool.Drv
  at (wrapper managed-to-native) App.RawPrinterHelper:OpenPrinter (string,intptr&,intptr)
  at App.RawPrinterHelper.SendBytesToPrinter (System.String szPrinterName, System.IntPtr pBytes, System.Int32 dwCount) [0x00032] in <8ba638cb2422469187f74f936946c4cb>:0 
  at App.RawPrinterHelper.SendStringToPrinter (System.String szPrinterName, System.String szString) [0x0000f] in <8ba638cb2422469187f74f936946c4cb>:0 

Я искал похожие проблемы и нашел на сайте Mono статью, предлагающую использовать MONO_LOG_LEVEL, чтобы увидеть, какие файлы ищет Mono, а затем искать эти файлы в /usr. Я получаю следующие имена файлов в журнале, но не могу найти ни одного из них в /usr.

Mono: DllImport attempting to load: 'winspool.Drv'.
Mono: DllImport error loading library '/usr/lib/libwinspool.Drv': '/usr/lib/libwinspool.Drv: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/usr/lib/libwinspool.Drv.so': '/usr/lib/libwinspool.Drv.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libwinspool.Drv': 'libwinspool.Drv: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'libwinspool.Drv.so': 'libwinspool.Drv.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library 'winspool.Drv': 'winspool.Drv: cannot open shared object file: No such file or directory'.

Заранее спасибо.

1 Ответ

0 голосов
/ 03 октября 2018

Этот код предназначен только для Windows и использует p / invoke для вызова в Windows API.Вам нужно будет найти альтернативный способ связи с устройством на Raspbian.

...