【问题标题】:VB 2005 app failing to start pscp subprocessVB 2005 应用程序无法启动 pscp 子进程
【发布时间】:2023-03-14 16:04:01
【问题描述】:

我有一个由以前的编码员编写的 VB2005 应用程序。我不得不把它移到一个新的 Windows 7 机器上,因为它所在的 xp 机器发生了灾难性的硬盘故障。它在 xp 机器上运行良好,但在 windows 7 机器上却失败了。

更具体地说,我已将其追溯到特定的小节。它使用 Process 库来启动 pscp,putty scp 命令行工具。它有一个定时器等待400秒让进程关闭,否则它会停止进程并报告错误。

不幸的是,在 Windows 7 上,它似乎甚至没有启动该进程,因为它没有等待指定的 400 秒,也没有报告 pscp 启动时会出现的其他错误,但失败了。是流程库的兼容性问题,还是配置问题?

更新:

好的,经过更多测试后,我确定子进程正在生成,但父进程并没有等待它退出。

似乎 VB 代码 myProcess.WaitForExit(40000) 实际上并没有等到进程退出。这是因为它无法“看到”进程并认为它已经退出了吗?

【问题讨论】:

    标签: vb.net windows-7 process .net-2.0


    【解决方案1】:

    好吧,看来是值得一掌的时刻。其他开发人员之一对此进行了更改,我从 bin/debug 文件夹中获取了他指定的版本。不幸的是,他的设置没有同时构建发布版本和调试版本。而且像个白痴一样,懒得去检查上面的时间戳,更没想到debug版本还没更新。

    bin/debug 文件夹中的版本已经使用了几个月,实际上并不能正常工作。所以我们试图修复它所做的所有更改都没有被使用。我在这里学到了一些宝贵的经验,

    1. 检查您是否获取了最新的可执行文件
    2. 即使之前的开发人员没有设置 repo,也要考虑这样做
    3. 始终克隆工作设置,以避免发生这种情况

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多