0

我想知道我做错了什么。

我在使用 Visual Studio 2008 的旧 labtop 上有一个应用程序。运行该应用程序的仿真正在调试按预期工作。

问题是,当我尝试将此应用程序带到实际的 intermec ck3 扫描仪时,它就像未连接一样。虽然是。

在应用程序上,我检查一组子网以确定扫描仪正在使用的位置。如果它无法检测到它,它会给出???用于 IP 地址和位置。

当我通过旧 labtop 上的调试器运行此应用程序时,它发现 IP 没有问题。但是当我将 .exe 带到扫描仪时,它没有找到任何东西并给了我???...但是,也许这就是我出错的地方。我习惯于编译应用程序并创建某种文件,然后将该文件移动到将要使用的设备上。

情况似乎并非如此。因为我只看到 Build Solution/Rebuild Solution/Deploy Solution/Clean Solution 和 Build MyApp/Rebuild MyApp/Deploy MyApp/Clean MyApp.. 作为 Visual Studio 2008 中 Build 选项卡下的选项。

任何人都可以帮助我或指出我正确的方向吗?请不要在不告诉我原因的情况下对此投反对票或立即将其标记为重复...

谢谢 :)

这是用于查找 IP 地址的代码:

Public Sub New()
        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.

        Dim hostentry As Net.IPHostEntry = Net.Dns.GetHostEntry(Net.Dns.GetHostName())
        If hostentry IsNot Nothing Then
            Dim collectionOfIPs As Net.IPAddress() = hostentry.AddressList
            MessageBox.Show(collectionOfIPs(0).ToString())
            strSubnet = collectionOfIPs(0).ToString()
            If strSubnet.StartsWith("172.18.46.") Or strSubnet.StartsWith("172.18.51.") Or strSubnet.StartsWith("172.18.49.") Or strSubnet.StartsWith("172.18.61.") Or strSubnet.StartsWith("172.18.62.") Then
                strSubnet = "NOR " & Now.Month.ToString & "/" & Now.Day.ToString
                'ElseIf strSubnet.StartsWith("10.79.255.") Or strSubnet.StartsWith("172.24.148.") Or strSubnet.StartsWith("172.24.149.") Or strSubnet.StartsWith("172.24.150.") Or strSubnet.StartsWith("172.24.151.") Or strSubnet.StartsWith("10.73.61.") Or strSubnet.StartsWith("10.73.62.") Then
                '    strSubnet = "DAK " & Now.Month.ToString & "/" & Now.Day.ToString
            ElseIf strSubnet.StartsWith("10.48.3.") Or strSubnet.StartsWith("10.68.8") Then
                strSubnet = "DEX " & Now.Month.ToString & "/" & Now.Day.ToString
            ElseIf strSubnet.StartsWith("172.20.3.") Or strSubnet.StartsWith("172.18.209") Or strSubnet.StartsWith("172.18.208.") Then
                strSubnet = "RRP " & Now.Month.ToString & "/" & Now.Day.ToString
            Else
                strSubnet = "??? " & collectionOfIPs(0).ToString()
            End If
            Me.Text = strSubnet
        End If
    End Sub

Dns.GetHostEntry 方法文档中说,如果为 DNS 名称传入一个空字符串,它将使用本地主机的 IPV4 地址。这可能是问题所在......也许我只需要一个网络人员来查看我的扫描仪?哈哈

4

1 回答 1

0

当我进行构建时,它被放在一个共享文件夹中,当我更改我在 labtop 上连接到的网络时,我从中进行了构建,我可以看到错误说它无法访问 DLL ......这也是它无法在扫描仪上工作的原因。

我希望它们位于多个位置的共享位置,这样每个位置都需要一个通过防火墙打开的端口来访问信息!

于 2017-11-27T12:36:50.403 回答