Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件从windows传输到linux?_C#_Wpf_Linux_Plink - Fatal编程技术网

C# 将文件从windows传输到linux?

C# 将文件从windows传输到linux?,c#,wpf,linux,plink,C#,Wpf,Linux,Plink,我正试图通过pLink和PuTTY连接到linux机器,以传输一些.txt文件。现在我只是想让连接正常工作。我有一个小窗口,有两个文本框(用户名,linux1)和一个密码框(pwbox1),还有一个按钮,当你点击时,它会将你连接到linux机器 这是我的密码: private void button1_Click(object sender, RoutedEventArgs e) { string user = username.Text; string

我正试图通过pLink和PuTTY连接到linux机器,以传输一些.txt文件。现在我只是想让连接正常工作。我有一个小窗口,有两个文本框(用户名,linux1)和一个密码框(pwbox1),还有一个按钮,当你点击时,它会将你连接到linux机器

这是我的密码:

 private void button1_Click(object sender, RoutedEventArgs e)
    {
        string user = username.Text;
        string passw = pwbox1.Password;
        string linuxHst = linux1.Text;

        ProcessStartInfo psi = new ProcessStartInfo(@"C:\Program Files (x86)\PuTTY\plink.exe", user + "@" + linuxHst + " -pw " + passw);

        psi.RedirectStandardInput = true;
        psi.RedirectStandardOutput = true;
        psi.WindowStyle = ProcessWindowStyle.Normal;
        psi.UseShellExecute = false;
        psi.CreateNoWindow = false;
        Process process = Process.Start(psi);
        process.WaitForExit(5000);
    }
问题是,当我在控制台应用程序中尝试这一点时,它可以工作,没有文本框!但我需要它来配合WPF。
谁能告诉我我做错了什么?我遗漏了什么吗?

什么东西没有像你期望的那样发挥作用,你观察到了什么?“但我需要它来与WPF一起工作”并不是一个真正的问题描述……它并没有表明我已经连接到linux机器!cmd窗口是空的!它应该显示类似“使用mowglin..”的内容,不是吗?如果您执行
psi.RedirectStandardOutput=true,为什么cmd窗口会显示任何内容?如果不想重定向控制台输出并在其cmd窗口中看到它,请不要重定向它;)(类似的参数可能适用于
psi.RedirectStandardInput=true;
-不确定您是否需要/想要在此cmd窗口中进行键盘输入),但完全相同的代码适用于控制台应用程序!这表明我已连接。如果它在控制台应用程序中工作,那么在控制台应用程序中执行的代码与上面描述的不完全相同…——在这里,您可能有一些代码行使其工作起来(可能类似于
Console.WriteLine(process.standardpoutput.ReadToEnd());