【发布时间】:2011-08-12 19:43:04
【问题描述】:
我有一个简单的 C# .NET 控制台应用程序,它运行一个外部进程“pscp”(putty 安全副本)。这在我运行 .exe 时效果很好。
但是,当我在 windows 计划任务中安排应用程序时,应用程序似乎没有打开外部进程 pscp.exe。通常它应该会弹出一个额外的控制台屏幕并在那里打开 pscp.exe。这有效,只是没有按计划进行。
我是这样开始的:
pscp.FileName = "pscp.exe";
Process p = Process.Start(pscp);
p.WaitForExit();
关于如何解决这个问题的任何想法?
【问题讨论】:
-
检查 p 的属性,这应该可以解决这个问题。或者您的控制台应用程序没有在可以启动 pscp.exe 的帐户下运行...
-
这是完整的例子吗? pscp 在你的 PATH 上吗?如果这是 putty 的一部分,那么您还需要提供一些参数,没有任何参数的 pscp.exe 只会打印一条使用消息并退出。
-
不,这不是完整的示例。我在完整代码中有参数,并且 pscp.exe 的路径已在 .config 文件中设置
-
您是否为您的应用启用了任何日志记录?在 try/catch 块中添加打开 pscp.exe 的代码并记录生成的异常(如果有)。我在计划任务方面遇到了意外行为,而日志记录真的很有帮助。
-
它说“找不到指定的文件”所以我猜找不到 pscp.exe。如何将其添加到 PATH?