首页 > 解决方案 > 获取摄像机 IP 地址

问题描述

我正在寻找一种方法来检索通过 Net 5.0 项目中的以太网交换机连接到我的计算机的 IP 摄像机的所有 IP 地址。

我确实尝试使用针对 Net Framework 的 OzekiSDK 库来解决这个问题:

    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

上面的方法工作得很好,但前提是我的项目是针对 Net FrameWork,目前我正在构建一个针对 Net 5.0 的项目,其中包含许多只针对 Net 的库,所以如果我尝试使用这个库,它将返回一个异常:

System.TypeInitializationException: 'Ozeki.Camera.IPCameraFactory' 的类型初始化程序引发了异常。FileNotFoundException:无法加载文件或程序集“System.ServiceModel.Discovery,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”。该系统找不到指定的文件。

在那之后,我认为将这段代码放在一个新的 net Framework 项目中,然后将其用作我当前的 Net 5.0 项目的参考是个好主意,结果还是一样。我希望为此找到解决方案。

标签: c#exceptioncameraip

解决方案


推荐阅读