#c# #exception #camera #ip
Вопрос:
Я нахожу способ получить все IP-адреса IP-камер, которые подключаются к моему компьютеру через коммутаторы Ethernet в проекте Net 5.0.
Я попытался использовать библиотеку OzekiSDK, предназначенную для Net Framework, для решения этой проблемы:
void GetIpCameras()
{
IPCameraFactory.DeviceDiscovered = IPCameraFactory_DeviceDiscovered;
IPCameraFactory.DiscoverDevices();
}
private void IPCameraFactory_DeviceDiscovered(object sender, DiscoveryEventArgs e)
{
GuiThread(() => DiscoveredDeviceList.Items.Add("Host: " e.Device.Host " Port: " e.Device.Port));
}
private void SearchButton_Click(object sender, RoutedEventArgs e)
{
DiscoveredDeviceList.Items.Clear();
IPCameraFactory.DeviceDiscovered -= IPCameraFactory_DeviceDiscovered;
GetIpCameras();
}
результат: Хост: 192.168.0.148 Порт: 80
Верхний метод работает идеально, но только в том случае, если мой проект был target Net FrameWork, в настоящее время я создаю проект, предназначенный для Net 5.0, со многими библиотеками, предназначенными только для Net, поэтому, если я попытаюсь использовать эту библиотеку, она вернет исключение:
Система.Исключение инициализации типа: ‘Инициализатор типа для ‘Ozeki.Камера.IPCameraFactory» выдал исключение. Исключение FileNotFoundException: Не удалось загрузить файл или сборку » Система.Модель обслуживания.Открытие, Версия=4.0.0.0, Культура=нейтральная, PublicKeyToken=31bf3856ad364e35’. Система не может найти указанный файл.
после этого я подумал, что было бы неплохо поместить этот код в новый проект net Framework, а затем использовать его в качестве ссылки для моего текущего проекта Net 5.0, и оказалось, что результат все тот же. Я надеюсь найти решение для этого.
Комментарии:
1. Согласно документации пространства имен, оно несовместимо с .NET 5. Так что вы не можете использовать его там. Имейте в виду, что .Net Framework и .Net5 несовместимы
2. @TheTanic есть ли способ добиться того же результата без использования библиотеки OzekiSDK .Net Framework? Эта библиотека в основном используется для компьютерного зрения
3. Есть ли у камер трансляция UDP, чтобы идентифицировать себя в сети? Если нет, то библиотека, вероятно, проверяет, открыты ли (а) определенные порты для всех возможных IP-адресов в вашей подсети.
4. Там, в справочнике, они только упоминают . СЕТЕВАЯ структура. Поэтому я бы сказал «нет». Но, может быть, вам стоит связаться с ними. Они должны быть в состоянии помочь вам
5. Поставщики камер, похоже, не находятся на переднем крае поддержки более новых версий .Net. Но они с большей вероятностью обновятся, если получат запросы на это.