Не удается найти класс UsbConnection () в Zebra SDK - PullRequest
0 голосов
/ 26 мая 2020

Я установил Zebra.Printer.SDK через NuGet и включил using Zebra.Sdk.Comm; и using Zebra.Sdk.Printer;. Я пытаюсь подключиться к своему принтеру через USB. В примере они делают следующее:

} else {
   printerConnection = new UsbConnection(selectedItem.Address);
}

Я пробовал то же самое в своем приложении. Но я не могу найти класс UsbConnection. Нужно ли мне добавлять дополнительные зависимости?

Ссылка на SKD

Установка SDK , которая содержит пример

1 Ответ

1 голос
/ 26 мая 2020

Если вы правильно установили библиотеку Nuget, у вас должны быть зависимости библиотеки, необходимые для запуска приложения. Для связи через usb вам понадобится usb dll, которая обеспечивает связь через интерфейс. Пожалуйста, загрузите Multiplatform SDK по этой ссылке , в ней есть папка P C -. NET, щелкните по ней, а затем go в «C: \ Program Files \ Zebra Technologies \ link_os_sdk \ P C -. NET \ v2.15.2634 \ demos-desktop \ Source », у него есть полный проект Visual Studio, который вы можете установить и сразу запустить. В этом примере кода есть все, что вам нужно, включая dll для USB-связи.

Для получения документации по API класса USB перейдите по ссылкам ниже.

Пространство имен Zebra.Sdk.Comm

https://techdocs.zebra.com/link-os/2-14/pc_net/content/html/85823b27-9fa5-7681-c212-8e536f601bbe.htm

UsbConnection Class

https://techdocs.zebra.com/link-os/2-14/pc_net/content/html/ab837158-704b-90f5-f754-c05091f89421.htm

publi c UsbConnection (string symbolicName)

Параметры

symbolicName Тип: System.String

Символ USB c имя для устройства, возвращаемый функцией-членом UsbDiscoverer.GetZebraUsbPrinters ().

Пример symbolicName: \? \ Usb # vid_0a5f & pid_016e # zq520r # { 28d78fad-5a12-11d1-ae5b-0000f803a8c2}

private void SendZplOverUsb(string symbolicName) {
 // Instantiate connection for ZPL USB port at given address/symbolicName
    Connection thePrinterConn = new UsbConnection(symbolicName);

    try {
        // Open the connection - physical connection is established here.
        thePrinterConn.Open();

        // This example prints "This is a ZPL test." near the top of the label.
        string zplData = "^XA^FO20,20^A0N,25,25^FDThis is a ZPL test.^FS^XZ";

        // Send the data to printer as a byte array.
        thePrinterConn.Write(Encoding.UTF8.GetBytes(zplData));
    } catch (ConnectionException e) {
        // Handle communications error here.
        Console.WriteLine(e.ToString());
    } finally {
        // Close the connection to release resources.
        thePrinterConn.Close();
    }
}

Zebra Link-OS - C# посмотреть пример кода

...